我想使用'extend function'扩展denum和num的值,它会自动更改为静态变量,我不知道为什么,但是它可以工作,但是问题出在我尝试获取输出时,我在System.out.println-语句中只能有一个变量,一次不能两个都可以,为什么?
public class Erste_Klasse {
static int denum = 14;
static int num = 13;
public static void extend(int n) {
denum += n;
num +=n;
}
public static void main(String[] args){
extend(14);
System.out.println(num);
}
}
答案 0 :(得分:2)
你说
它自动更改为静态变量,我不知道为什么
我将假定您的IDE提出了建议。建议这样做是因为您正尝试从静态方法public static void extend(int n)
访问它,因为您只能从静态方法访问静态成员。
我在System.out.println-语句中只能有一个变量
如果要打印两个不同的变量,可以用String
隔开,例如:
System.out.println(num +"---"+ denum );
答案 1 :(得分:2)
println
采用一个(字符串)参数。由于Java编译器确实具有某些语法处理功能,因此会将System.out.println(num)
转换为System.out.println(String.valueOf(num))
。
如果要显示更多值,可以通过串联字符串值e,g来实现:
System.out.println(num + " " + denum);
或者您可以使用printf
变体:
System.out.printf("Num:%d denum:%d%n", num, denum);
其中%d
表示int
,而%n
表示“特定于平台的换行符”。
答案 2 :(得分:0)
您必须这样做:
System.out.println(num + denum);
但这实际上将数字相加,然后输出单个输出。 您应该这样做:
System.out.println(num +","+ denum);