gpt4 book ai didi

java - 嵌套 if 语句没有字符串

转载 作者:行者123 更新时间:2023-12-02 01:42:33 25 4
gpt4 key购买 nike

我正在做一个回文数列。我已经设置了数学,但我在嵌套 if 语句时遇到了麻烦,只显示一个答案。

我尝试从“else if”中删除“if”,但 java 无法识别。输出不提供“不是 5 位数字”,当我输入 5 位回文数字时,它会发送 True 和 False 输出,而不仅仅是 true。然而,它非常适合错误的 5 位数字输入。我可以就如何正确嵌套提供一些帮助吗?这是我所要求的,或者是一个很好的解释示例,可以帮助我实现结果,因为我去过很多网站,但大多数网站都太简单并且缺乏示例比较一下。

import java.util.Scanner;
public class Palindrome
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.print ("Enter 5-digit integer value: ");
int userNumber = input.nextInt();
System.out.println("Input value: " + "\t" + userNumber);

//User input incorrect amount of digits
if (userNumber >= 100000 && userNumber <= 9999)
{
System.out.println("Not 5 digits.");
}
else if(userNumber < 100000 && userNumber > 9999)
{
int Number5 = (userNumber/10000) % 10;
int Number4 = (userNumber/1000) % 10;
int Number3 = (userNumber /100) % 10;
int Number2 = (userNumber/10) % 10;
int Number1 = userNumber % 10;

//Conditions are met for Palidrome Number
if(Number1 == Number5 && Number2 == Number4)
{
System.out.println("Judgement: " + "\t" + "\t" + "True");
}
//Conditions are not met for Palidrome Number
else if (Number1 != Number5 || Number2 !=Number4);
{
System.out.println("Judgement: " + "\t" + "\t" + "False");
}
}
}
}

结果应显示正确、错误或非 5 位数字

最佳答案

没有 >= 100000 的号码 <= 9999 ,这就是为什么您永远不会看到非 5 位数字。
您必须将该条件更改为:

if (userNumber <= 9999 || userNumber > 99999)

并更改:

else if(userNumber < 100000 && userNumber > 9999)

简单一点

else

因为如果代码达到else然后部分userNumber < 100000 && userNumber > 9999总是true .
这同样适用于

else if (Number1 != Number5 || Number2 !=Number4);

(注意:最后的 ; 是错误的,是严重头痛的根源)
必须更改为:

else

此声明:

int Number3 = (userNumber / 100) % 10;

是多余的,因为 Number3 的值在这种情况下没有用。
所以你的代码应该像这样简化:

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print ("Enter 5-digit integer value: ");
int userNumber = input.nextInt();
System.out.println("Input value: " + "\t" + userNumber);

if (userNumber <= 9999 || userNumber > 99999) {
System.out.println("Not 5 digits.");
}
else {
int Number5 = (userNumber / 10000) % 10;
int Number4 = (userNumber / 1000) % 10;
int Number2 = (userNumber / 10) % 10;
int Number1 = userNumber % 10;

if (Number1 == Number5 && Number2 == Number4) {
System.out.println("Judgement: " + "\t" + "\t" + "True");
} else {
System.out.println("Judgement: " + "\t" + "\t" + "False");
}

}
}

关于java - 嵌套 if 语句没有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54244492/

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