[英]How to use static variable inside main in Java
原谅我,我是Java的初学者。 在分配作业时,我必须创建一个程序,该程序使用for循环打印温度从32到98的表格,并转换为摄氏度和开尔文。 我不断收到错误消息“无法从静态上下文中引用非静态变量x”。 事实是,我将x固定为DecimalFormat作为x.format,然后尝试将其应用于转换到小数点后两位。 它会将x识别为变量而不是函数名称。 这是我的代码:
public static void main(String args[]){
int i;
for(i = 32; i <= 98; i++){
System.out.println((i)+"F"+(x.format(i-32)*(5/9))+"C"+(x.format(i-32)*(5/9)+273.15))+"K");
}
}
}
在您的类中,您有一个非静态的成员变量x
。 当在静态的主类中使用它时,会引发异常。
第一种方式:
因此,您需要做的就是将x
的修饰符更改为static,如下所示:
static x; // with your modifiers
那么您可以在主要方法中使用它而不会遇到麻烦。
第二种方式:
如果这是一个相对较大的项目(或中等规模),则可能要考虑使用另一个函数并从主循环调用该函数,以避免必须处理所有这些静态内容。 方法如下:
public static void main(String[] args){
YOUR_CLASS_NAME c = new YOUR_CLASS_NAME();
c.startLogic();
}
public void startLogic(){
System.out.println((i)+"F"+(x.format(i-32)*(5/9))+"C"+(x.format(i-32)*(5/9)+273.15))+"K");
}
请记住,将YOUR_CLASS_NAME
更改为您的班级名称(duh)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.