Java 第一个文本游戏:打印行复制

Java 第一个文本游戏:打印行复制,java,Java,这是我帮助我学习Java的第一个项目。游戏看起来不错,但我需要得到输入检查,如果它确定整数等,当我试图检查它与整数,但这个“打印行”打印后,它必须做打印后再次打印自己。我要求你的理解,因为我只是学习它(本周开始) 我说的是这一部分: if(scanner.hasNextInt()){ choiceStr1=scanner.next(); choice_1= Integer.parseInt(choiceStr1);

这是我帮助我学习Java的第一个项目。游戏看起来不错,但我需要得到输入检查,如果它确定整数等,当我试图检查它与整数,但这个“打印行”打印后,它必须做打印后再次打印自己。我要求你的理解,因为我只是学习它(本周开始)

我说的是这一部分:

            if(scanner.hasNextInt()){
            choiceStr1=scanner.next();
            choice_1= Integer.parseInt(choiceStr1);
        }
        else {
            System.out.println(input);
            space = enterScanner.nextLine();
            townGateRevisited();
        }
完整代码:


要检查用户输入是否为整数,只需使用
scanner.nextInt()try
中的code>方法比catch
inputmaschException
块更有效

试试看{
int choiceStr1=scanner.nextInt();
}捕获(输入不匹配异常e){
//在此处执行某些操作,如果用户输入为int,则将跳过此块
}

要检查用户输入是否为整数,只需使用
scanner.nextInt()try
中的code>方法比catch
inputmaschException
块更有效

试试看{
int choiceStr1=scanner.nextInt();
}捕获(输入不匹配异常e){
//在此处执行某些操作,如果用户输入为int,则将跳过此块
}

我给大家举一个非常基本的例子,我是第一次学习英语时自己编写的。请注意,这是非常基本的,还有其他方法!但这可以很好地向您展示如何循环,同时检查您的输入是否正确

public class MyApplication { 

public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);

        Scanner scan = new Scanner(System.in);
        String enteredNumber = "";
        do {
            System.out.println("enter a number");
            enteredNumber = scan.nextLine();
        } while (!isNumber(enteredNumber));
    }

    private static boolean isNumber(String isNumber) {
        for (int i = 0; i < isNumber.length(); i++) {
            if (!isDigit(isNumber.charAt(i))) {
                return false;
            }
        }
        return true;
    }

    private static boolean isDigit(char isDigit) {
        for (int i = 0; i < 10; i++) {
            if (isDigit == i + 48) {
                return true;
            }
        }
        return false;
    }
}
公共类MyApplication{
公共静态void main(字符串[]args){
run(MyApplication.class,args);
扫描仪扫描=新扫描仪(System.in);
字符串enteredNumber=“”;
做{
System.out.println(“输入一个数字”);
enteredNumber=scan.nextLine();
}而(!isNumber(enteredNumber));
}
私有静态布尔值isNumber(字符串isNumber){
对于(int i=0;i
这不需要try-catch,它使用ascii值来检查输入。这就是为什么我使用nextLine()而不是nextInt()


快乐地编码,不断地提问/谷歌搜索

我给大家举一个非常基本的例子,我第一次学习这门语言时自己编写了代码。请注意,这是非常基本的,还有其他方法!但这可以很好地向您展示如何循环,同时检查您的输入是否正确

public class MyApplication { 

public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);

        Scanner scan = new Scanner(System.in);
        String enteredNumber = "";
        do {
            System.out.println("enter a number");
            enteredNumber = scan.nextLine();
        } while (!isNumber(enteredNumber));
    }

    private static boolean isNumber(String isNumber) {
        for (int i = 0; i < isNumber.length(); i++) {
            if (!isDigit(isNumber.charAt(i))) {
                return false;
            }
        }
        return true;
    }

    private static boolean isDigit(char isDigit) {
        for (int i = 0; i < 10; i++) {
            if (isDigit == i + 48) {
                return true;
            }
        }
        return false;
    }
}
公共类MyApplication{
公共静态void main(字符串[]args){
run(MyApplication.class,args);
扫描仪扫描=新扫描仪(System.in);
字符串enteredNumber=“”;
做{
System.out.println(“输入一个数字”);
enteredNumber=scan.nextLine();
}而(!isNumber(enteredNumber));
}
私有静态布尔值isNumber(字符串isNumber){
对于(int i=0;i
这不需要try-catch,它使用ascii值来检查输入。这就是为什么我使用nextLine()而不是nextInt()


快乐地编码,不断地提问/谷歌搜索

我很难理解你的确切问题。。。您是否试图确保您的输入是一个数字?您可以使用Character.isDigit()进行检查。请注意,它仅适用于单个数字。请编辑您的问题,使其尽可能具体。也许现在添加您的输出,以及您想要的输出?另外,如果您的choiceStr1不是一个数字,则Integer.parseInt()将抛出一个异常。我想检查输入是否为int,以及是否为int,并将其发送到代码启动时的点。我想对其他输入执行类似的操作。然后,您需要将代码放入一个循环(do while或while)中,并检查输入是否正确,实际上可以使用scanner.nextInt()进行检查,并使用try catchwhich代码进行检查?其他同学呢?我对try catch的理解不够好,但我今天将学习它。我添加了
while(choiceStr1==scanner.nextInt())
作为其余的代码(开关和那些if),但它没有改变任何东西我很难理解您的确切问题。。。您是否试图确保您的输入是一个数字?您可以使用Character.isDigit()进行检查。请注意,它仅适用于单个数字。请编辑您的问题,使其尽可能具体。也许现在添加您的输出,以及您想要的输出?另外,如果您的choiceStr1不是一个数字,则Integer.parseInt()将抛出一个异常。我想检查输入是否为int,以及是否为int,并将其发送到代码启动时的点。我想对其他输入执行类似的操作。然后,您需要将代码放入一个循环(do while或while)中,并检查输入是否正确,实际上可以使用scanner.nextInt()进行检查,并使用try catchwhich代码进行检查?其他同学呢?我不太懂try catch,但我今天会学习它。我在剩下的代码(switch和那些if)中添加了
while(choiceStr1==scanner.nextInt())
,但它没有改变任何事情,同样的事情发生了。在catch i中添加了
System.out.println(输入);space=enterScanner.nextLine();再次访问汤加()为什么需要
输入scanner.nextLine()?此输入是否需要整数?或者,如果用户在
choiceStr1中键入非十进制,则您正在尝试执行其他操作