Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中使用扫描仪时,控制台中缺少显示顺序_Java_Java.util.scanner - Fatal编程技术网

在java中使用扫描仪时,控制台中缺少显示顺序

在java中使用扫描仪时,控制台中缺少显示顺序,java,java.util.scanner,Java,Java.util.scanner,我的密码是 public class trueFalse { public static void main(String[] args){ String sz = null; do{ String s = null; Scanner keyboard = new Scanner(System.in); System.out.println("enter an integer"); int my

我的密码是

public class trueFalse {

public static void main(String[] args){
    String sz = null;
    do{
        String s = null;
        Scanner keyboard = new Scanner(System.in);
        System.out.println("enter an integer");
        int myint = keyboard.nextInt();
        if(myint<0){
            System.out.println("Lessthan zero");
        }
        else
        {    
            s = getVal(myint);
            System.out.println("Value :: "+s);
        }
            Scanner keyboard2 = new Scanner(System.in);
            System.out.println("Do you want to continue ? (YES/no)");
            sz = keyboard2.next();
        }while(sz.equalsIgnoreCase("yes"));
}

public static String getVal(int num){
    return num == 0 ? "ZERO" : "One+";   
}

}
公共类trueFalse{
公共静态void main(字符串[]args){
字符串sz=null;
做{
字符串s=null;
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入整数”);
int myint=keyboard.nextInt();

如果(myint不需要使用两个扫描仪。您可以将
sz=keyboard 2.next();
替换为
sz=keyboard.nextLine();
此外,将扫描仪移到
do while
循环之外

此外,您还必须在
int myint=keyboard.nextLine()之后添加
keyboard.nextLine();

以下是更正后的代码片段:

public static void main(String[] args) {
    /* Move Scanner outside of do-while */
    Scanner keyboard = new Scanner(System.in);
    String s = null;
    String sz = null;
    do {
        System.out.println("Enter Integer Value: ");
        /* Integer Parsing */
        String str = keyboard.nextLine();
        System.out.println("Entered Integer: " + str);
        int myint = Integer.parseInt(str);

        if(myint < 0){
            System.out.println("Value Less Than Zero!");
        }
        else
        {    
            s = getVal(myint);
            System.out.println("Value :: " + s);
        }
        System.out.println("Do you want to continue ? (yes/no)");
        sz = keyboard.nextLine();
        System.out.println("Entered Value: " + sz);
    } while(sz.equalsIgnoreCase("yes"));
}

public static String getVal(int num){
    return num == 0 ? "ZERO" : "One+";   
}

无需使用两个扫描仪。您可以将
sz=keyboard 2.next();
替换为
sz=keyboard.nextLine();
此外,将扫描仪移到
do while
循环之外

此外,您还必须在
int myint=keyboard.nextLine()之后添加
keyboard.nextLine();

以下是更正后的代码片段:

public static void main(String[] args) {
    /* Move Scanner outside of do-while */
    Scanner keyboard = new Scanner(System.in);
    String s = null;
    String sz = null;
    do {
        System.out.println("Enter Integer Value: ");
        /* Integer Parsing */
        String str = keyboard.nextLine();
        System.out.println("Entered Integer: " + str);
        int myint = Integer.parseInt(str);

        if(myint < 0){
            System.out.println("Value Less Than Zero!");
        }
        else
        {    
            s = getVal(myint);
            System.out.println("Value :: " + s);
        }
        System.out.println("Do you want to continue ? (yes/no)");
        sz = keyboard.nextLine();
        System.out.println("Entered Value: " + sz);
    } while(sz.equalsIgnoreCase("yes"));
}

public static String getVal(int num){
    return num == 0 ? "ZERO" : "One+";   
}

我已替换,但我仍将获得输出,
输入一个整数值::1+是否要继续?(是/否)1是输入一个整数值::1+是否要继续?(是/否)5是输入一个小于零的整数是否要继续?(是/否)-1
检查更正的代码段和附加的输出。我已经检查了它几乎可以工作,但是当我再次输入一个整数时,同样的问题,
5输入的整数:5值::1+是否要继续?(是/否)是输入的值:是输入的整数:1值::1+是否要继续?(是/否)1是输入值:是输入整数-1输入整数:-1小于零是否继续?(是/否)是输入值:是输入整数整数:1值::1+是否继续?(是/否)1
ooh,这是我的系统中的问题吗?这是为你好而写的…我正在使用LinuxMint 32b osI已替换,但我仍在获得输出,
输入整数值::1+是否要继续?(是/否)1是输入整数值::1+是否要继续?(是/否)5是输入一个小于零的整数是否要继续?(是/否)-1
检查更正的代码段和附加的输出。我检查了它几乎可以工作,但当我再次输入一个整数时,同样的问题,
5输入的整数:5值::1+是否要继续?(是/否)是输入值:是输入整数输入整数:1值::1+是否继续?(是/否)1是输入值:是输入整数-1输入整数:-1小于零是否继续?(是/否)是输入值:是输入整数输入整数:1值::1+是否继续?(是/否)1
ooh,我的系统有问题吗?这是为你好写的…我使用的是LinuxMint 32b操作系统