public static void main(String[] args) {
int num1 = 1;
int num2 = 1;
int result = num1 * num2;
System.out.println("%d x %d = %d\n",num1,num2,result);
}
我正在尝试打印“1 * 10 = 10”这样的表格。但是我收到错误:
PrintStream 类型中的方法 println(int) 不适用于参数 (String, int, int, int)”。
我不知道问题出在哪里,该如何改变?
尝试
System.out.println(num1+" x "+num2+" = "+result+"\n");
更新: 有些人说这种串联方法比其他方法慢。你是对的,它比较慢,但是对于这个例子来说真的很重要吗?
此方法通常用于调试,不作为最终代码的一部分,通常只在整个代码上使用一两次。
更快的方法:
System.out.printf("%d x %d = %d\n",num1,num2,result);
您是否尝试过像这样使用
system.out.format
:
System.out.format("%s x %s = %s\n",num1,num2,result);
您当前使用
println
的解决方案不起作用,因为 println
无法以这种方式格式化文本输出,您必须(正如其他人所说)使用“+”运算符连接字符串。在大多数情况下它会比较慢,但出于调试目的,我不应该认为这会是一个大问题。
printf(...)
中有一个System.out
方法!
System.out.printf("%d x %d = %d\n",num1,num2,result);
您使用的方法
(System.out.println
)不适用于多个参数。通过使用 ,
,您可以尝试为其提供多个参数。您需要 +
运算符。
应用于您的代码,它应该看起来像这样:
System.out.println(num1 + " x " + num2 + " = " + result);
也许你应该看看这个。这是PrintStream 的文档。正如您所看到的,没有像您正在使用的方法一样(
System.out.println(String, Int, Int ,Int);
)。
一种简单的方法是可以使用连接操作“+”而不是“,”来打印
public static void main(String[] args) {
// TODO Auto-generated method stub
int result = 0;
for(int num1 = 1;num1 < 10;num1++){
for(int num2 = 1;num2 <10;num2++){
result = num1 * num2;
System.out.println(num1+"x"+num2+"="+result);
}
}
}
}
println 如此处所述 当前接受 0 或 1 个参数,这是上述错误的原因。
如果您打算使用 println(仅),则需要连接或使用字符串格式来格式化结果:
字符串格式:
System.out.println(String.format("%d x %d = %d\n",num1,num2,result));
使用 StringBuffer 进行字符串连接:
StringBuffer resltBuffer = new StringBuffer(num1).append(" x ").append(num2).append(" = ").append(result);
System.out.println(resltBuffer.toString());
System.Out.println - 不接受参数 %d 等
System.Out.format - 您需要使用 format 而不是 println
保持这样:
System.out.format("%d x %d = %d",num1, num2, 结果);
enter code here
int first = 20;
int second = 30;
System.out.println("before swap");
System.out.println("first value :" +first);
System.out.println("second value: " +second);
first = first - second;
second = first + second;
first = second - first;
System.out.println("after swap");
System.out.println("first value: " +first);
System.out.println("second value: " +second);
从打印语句中删除逗号