请帮助我的代码不断得到一个可变的sc错误

  • 本文关键字:一个 错误 sc 代码 帮助 java
  • 更新时间 :
  • 英文 :


我正在尝试创建一个Java程序,该程序提示用户输入一个数字。使用名为CheckNum (int num)的void方法和void方法CheckNum中的决策语句猜测该数字,检查输入的数字是否为100,如果为真,则会显示以下消息"number is correct!">

到目前为止,这就是我创建的:

import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
checkNum();
}
public static void checkNum()
{
System.out.println("Enter a number: ");
int guess= sc.nextInt();
int number=(int)(Math.random()*100)+1;
System.out.println("The number is "+number);
if(guess>=1 && guess<=100)
{
if(guess==number)
System.out.println("The number is right!");
else
System.out.println("Wrong!");
}
else
{
System.out.println("Make it a 1-100 please!");
checkNum();
}

}
}

不能只使用其他方法中的变量。以下是的选项

  • 将类的Scanner定义为静态

    public class Main{
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args){
    checkNum();
    }
    public static void checkNum(){...}
    }
    
  • 通过Scanner作为参数

    public class Main{    
    public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    checkNum(sc);
    }
    public static void checkNum(Scanner sc){...}
    }
    
  • 仅在方法中定义

    public class Main{    
    public static void main(String[] args){
    checkNum();
    }
    public static void checkNum(){
    Scanner sc = new Scanner(System.in)
    ...
    }
    }
    

相关内容

最新更新