这是我的Java类
import java.util.Scanner;
public class first {
public static void main(String args[]);
int right_number, user_input;
right_number = 6;
Scanner in = new Scanner(System.in);
System.out.println("Enter a number between 1 and 10");
user_input = input.nextInt();
if(user_input = right_number) {
System.out.println("That is the right number!");
}
else {
System.out.println("Aww, try again by typing java first into commad line.");
}
}
一直这样说:
解析时错误到达文件末尾。
有人可以帮忙吗?
答案 0 :(得分:3)
这是第一个问题:
public static void main(String args[]);
你实际上并没有在这里声明一个方法体。它应该是:
public static void main(String[] args) {
// Method body goes here
}
您应该只在抽象方法的方法声明的末尾使用;
(包括那些在接口中隐式抽象的方法)。如果您还没有抽象方法,那么暂时忽略它 - 基本上使用大括号来提供方法体。
(String[] args
vs String args[]
不是问题,但是这个版本首选的是样式...就像命名你的班级First
而不是{ {1}} ...这里还有其他各种风格问题,但我现在就把它留在那里。)
您的类“尝试”在first
语句之后直接结束的事实应该是一个警告铃声 - else
语句只能出现在方法或构造函数中,所以有是一个括号来关闭该方法/构造函数,然后是一个括号来关闭类声明本身。同样,缩进应该警告你 - 假设你使用IDE来执行缩进,任何时候你发现自己编写的方法体语句只比类声明更进一步缩进,这表明你有问题某处 - 查找文件以查看它的起始位置。
答案 1 :(得分:1)
代码有很多错误,如:
1
public static void main(String args[]);
应该是
public static void main(String args[])
{
// every thing should be inside this
}
2
您已将您的扫描仪对象声明为in
,但您正在user_input = input.nextInt();
,user_input = in.nextInt();
3
if(user_input = right_number)
应该说if(user_input == right_number)
因为=
是赋值运算符,要比较你应该使用==
这是正确的代码:
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
int right_number, user_input;
right_number = 6;
Scanner in = new Scanner(System.in);
System.out.println("Enter a number between 1 and 10");
user_input = in.nextInt();
if(user_input == right_number) {
System.out.println("That is the right number!");
}
else {
System.out.println("Aww, try again by typing java first into commad line.");
}
}
}