在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操作系统