Java while循环中的输入(扫描仪)变量
我试图让程序要求一个百分比(等级),但我希望它再次询问后,用户已经作出了第一次输入,并看到了输出。我在循环中遇到问题,因为变量myMark没有赋值Java while循环中的输入(扫描仪)变量,java,Java,我试图让程序要求一个百分比(等级),但我希望它再次询问后,用户已经作出了第一次输入,并看到了输出。我在循环中遇到问题,因为变量myMark没有赋值 import java.util.Scanner; public class passFail{ public static void main(String[] args){ Scanner result = new Scanner(System.in); int myMark = 0;
import java.util.Scanner;
public class passFail{
public static void main(String[] args){
Scanner result = new Scanner(System.in);
int myMark = 0;
while(myMark >=0 && myMark <=100){
System.out.println("Please enter the percentage you have received:");
myMark = result.nextInt();
if(myMark <=49 && myMark >=0){
System.out.println("You have failed!");
}
else if(myMark <=59 && myMark >=50){
System.out.println("You have passed!");
}
else if(myMark <=69 && myMark >=60){
System.out.println("You have received a Credit");
}
else if(myMark <=79 && myMark >=70){
System.out.println("You have received a Distinction!");
}
else if(myMark <=100 && myMark >=80){
System.out.println("You have received a High Distinction");
}
else{
System.out.println("Please enter a whole number");
}
}
}
}
import java.util.Scanner;
公共类passFail{
公共静态void main(字符串[]args){
扫描仪结果=新扫描仪(System.in);
int-myMark=0;
而(myMark>=0&&myMark在使用它之前,您需要先定义myMark
。如下所示:
Scanner result = new Scanner(System.in);
int myMark = result.nextInt();
while(myMark >=0 && myMark <= 100){
System.out.println("Please enter the percentage you have received:");
myMark = result.nextInt();
..................
Scanner result=新扫描仪(System.in);
int myMark=result.nextInt();
而(myMark>=0&&myMark在使用它之前,您需要先定义myMark
。如下所示:
Scanner result = new Scanner(System.in);
int myMark = result.nextInt();
while(myMark >=0 && myMark <= 100){
System.out.println("Please enter the percentage you have received:");
myMark = result.nextInt();
..................
Scanner result=新扫描仪(System.in);
int myMark=result.nextInt();
当(myMark>=0&&myMark-您忘记了声明变量myMark
-您已将其声明为类型
(数据类型)
例如:
int myMark;
-如果将扫描器放置在循环外部会更好,因为您只想获取一次输入…-您忘记了声明变量myMark
-您已将其声明为类型
(数据类型)
例如:
int myMark;
-如果将扫描仪放置在循环外部会更好,因为您只想获取一次输入…在循环条件下使用之前,您应该声明您的myMark
。。
另外,您应该将扫描仪
声明为实例变量
public class Demo {
private Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int myMarks = 0;
while (myMarks >= 0 && myMark < 100) {
// Rest is all same
}
}
}
公共类演示{
专用扫描仪=新扫描仪(System.in);
公共静态void main(字符串[]args){
int-myMarks=0;
而(myMarks>=0&&myMark<100){
//其余的都一样
}
}
}
在while
循环条件下使用myMark之前,您应该声明您的myMark
。。
另外,您应该将扫描仪
声明为实例变量
public class Demo {
private Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int myMarks = 0;
while (myMarks >= 0 && myMark < 100) {
// Rest is all same
}
}
}
公共类演示{
专用扫描仪=新扫描仪(System.in);
公共静态void main(字符串[]args){
int-myMarks=0;
而(myMarks>=0&&myMark<100){
//其余的都一样
}
}
}
我还要指出,在循环开始之前,您只需要创建一次扫描仪。您不需要每次在循环中都创建扫描仪。这不起作用。我已使用工作代码更新了我的问题。@Kronos:如果您可以将其作为答案发布并接受,未来的用户将很清楚,而不是更新问题。@Kronos:nt指出,在循环开始之前,您只需要创建一次扫描仪。您不需要每次在循环内创建扫描仪。这不起作用。我已用工作代码更新了我的问题。@Kronos:如果您可以将其作为答案发布并接受,未来的用户将很清楚,而不是更新问题。可能是du的重复皱褶