gpt4 book ai didi

java - java程序中的输出问题

转载 作者:行者123 更新时间:2023-12-02 08:28:02 24 4
gpt4 key购买 nike

好吧,这个程序正在尝试显示 1-4 位整数的中间数字,如果它有偶数个数字,它应该显示没有中间数字,但是我无法让它输出正确回答,代码如下:

public class digit {
public static void main(String[] arg) {
int MyInt1, MyInt2, MyInt3, MyInt4;
EasyReader keyboard = new EasyReader();
// Get the 1-4 digit integer
int MyInt = keyboard.readInt("Enter your integer: ");
// Calculate the middle digit
MyInt1=MyInt/10;
if (MyInt1 < 1) {
System.out.print("The middle digit is: ");
System.out.println(MyInt);
MyInt2=MyInt1/10;
}else if (MyInt2 < 1) {
System.out.println("No middle digit");
MyInt3=MyInt2/10;
}else if (MyInt3 < 1) {
System.out.print("The middle digit is: ");
System.out.println(MyInt2);
MyInt4=MyInt3/10;
}else if (MyInt4 < 1) {
System.out.println("No middle digit");
}
}
}

我还在开始时导入了一个包。

我得到的一个示例输出是,如果我输入 1234 作为整数,我得到:“123412No middle digital”作为我的答案,我认为 else if 语句一定做错了什么,但我不知道它是什么。感谢帮助,谢谢

最佳答案

缩进并不能定义 if 执行什么和不执行什么声明。

如果不满足第一个条件,MyInt2永远不会被定义,所以下一个条件也将失败。在您的原始代码中,如果 MyInt1 < 1为 true,那么您将打印 The middle digit is:并计算 MyInt2 的值。但是,如果条件为假,您将检查是否 MyInt2 < 1 ,但是MyInt2未定义,因为它仅在第一个条件为真时才计算(在原始代码中)。

这样的事情应该有效:

// Calculate the middle digit
MyInt1=MyInt/10;
MyInt2=MyInt1/10;
MyInt3=MyInt2/10;
MyInt4=MyInt3/10;
if (MyInt1 < 1) {
System.out.print("The middle digit is: ");
System.out.println(MyInt);
}else if (MyInt2 < 1) {
System.out.println("No middle digit");
}else if (MyInt3 < 1) {
System.out.print("The middle digit is: ");
System.out.println(MyInt2);
}else if (MyInt4 < 1) {
System.out.println("No middle digit");
}

关于java - java程序中的输出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4064960/

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