gpt4 book ai didi

java - 比较两个整数以检查第二个整数是否更大

转载 作者:行者123 更新时间:2023-12-02 10:09:49 25 4
gpt4 key购买 nike

我试图让用户输入两个整数,其中第二个整数必须更大。这将通过验证来完成。验证似乎有效,但是当输入第二个整数时,无论 int 是否较小或已更正,都会打印第一个输入。

import java.util.Scanner;
public class Comparing
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);



//Entering Integers where int 2 is greater with validation

int i1;
while(true){
System.out.print("Enter the first integer");
if(in.hasNextInt()){
i1 = in.nextInt();
break;
}else{
System.out.println("Invalid Integer");
String Invalid = in.next(); //Meant to catch any non int types
}
}
int i2;
while(true){
System.out.print("Enter a second larger integer");
if(in.hasNextBigInteger()){
i2 = in.nextInt();
if(i2 > i1){
break;
}else{
System.out.println("Invalid Integer");
System.out.println("Enter a second LARGER integer");
String Invalid2 = in.next();

}
break;
}else{
System.out.println("Invalid Integer");
System.out.println("Enter a second LARGER integer");
String Invalid2 = in.next();
}
}



//Odd number calculation between i1 and i2
int oddsum = 0;
int odd = 0;
for(odd = i1;odd <= i2; odd++){
if(odd%2 != 0){
oddsum = odd + oddsum;
}
}
System.out.println("The sum of odd integers between " + i1 + " and " + i2 + ": " + oddsum);

最佳答案

您应该删除这两行:

int i2;
while(true){
System.out.print("Enter a second larger integer");
if(in.hasNextBigInteger()){
i2 = in.nextInt();
if(i2 > i1){
break;
}else{
System.out.println("Invalid Integer");
System.out.println("Enter a second LARGER integer");
String Invalid = in.next(); // <----- this line
}
break; // <------------ and this line
}else{
System.out.println("Invalid Integer");
System.out.println("Enter a second LARGER integer");
String Invalid2 = in.next();
}
}

您不需要 in.next 消耗无效整数,因为 nextInt 将会消耗它(与 in.next 中的整数不同)格式错误)!

你也不会跳出循环。您希望循环再次循环以使用户输入正确的数字。

您也不需要 String Invalid 声明。只需执行 in.next(); 就足够了。

关于java - 比较两个整数以检查第二个整数是否更大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55078647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com