执行java代码时出错
此java代码中存在错误。我想打印hello world和var1值。 输入: 错误:执行java代码时出错,java,Java,此java代码中存在错误。我想打印hello world和var1值。 输入: 错误: PS C:\Users\SOUVIK\Desktop> & 'c:\Users\SOUVIK\.vscode\extensions\vscjava.vscode-java-debug-0.31.0\scripts\launcher.bat' 'C:\Program Files\Java\jdk-14.0.2\bin\java.exe' '-XX:+ShowCodeDetailsInExcep
PS C:\Users\SOUVIK\Desktop> & 'c:\Users\SOUVIK\.vscode\extensions\vscjava.vscode-java-debug-0.31.0\scripts\launcher.bat' 'C:\Program Files\Java\jdk-14.0.2\bin\java.exe'
'-XX:+ShowCodeDetailsInExceptionMessages''-Dfile.encoding=UTF-8' '-cp' 'C:\Users\SOUVIK\AppData\Roaming\Code\User\workspaceStorage\1fca3cee0a29c97a3fcadb36b4ef44b2\redhat.java\jdt_ws\jdt.ls-java-project\bin' 'Helloworld'
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Cannot make a static reference to the non-static field var1
Cannot make a static reference to the non-static field Scannerobj
Cannot make a static reference to the non-static field var1
您不能使用静态上下文中的非静态变量,因为main是静态方法。因此,您可以将变量设置为静态
静态扫描仪Scannerobj=new Scanner(System.in)
;
static int var1编码>或在main函数下定义这些变量在main方法中定义扫描仪对象和var1,如下所示
import java.util.*;
class Helloworld{
public static void main(String[] args){
int var1;
Scanner Scannerobj =new Scanner(System.in);
System.out.println("hello world");
System.out.println("Enter the value of var1");
var1 = Scannerobj.nextInt();
System.out.println(var1);
}
}
或
如果要在main方法之外定义scanner对象和var1,请在定义scanner对象和var1时添加static关键字
import java.util.*;
class Helloworld{
static Scanner Scannerobj =new Scanner(System.in);
static int var1;
public static void main(String[] args){
System.out.println("hello world");
System.out.println("Enter the value of var1");
var1 = Scannerobj.nextInt();
System.out.println(var1);
}
}
请显示您的程序输出,并解释您对错误消息的理解。这是否回答了您的问题?
import java.util.*;
class Helloworld{
static Scanner Scannerobj =new Scanner(System.in);
static int var1;
public static void main(String[] args){
System.out.println("hello world");
System.out.println("Enter the value of var1");
var1 = Scannerobj.nextInt();
System.out.println(var1);
}
}