我是初学者Java学生。这是我正在做的一般想法。
我有一个用户可以通过输入相应的号码来挑选的东西列表。输入一个整数后,项目旁边的字符串将打印为YES
。如果他们决定不再需要它,他们必须再次输入相同的数字,然后字符串应该更改为NO
。我的嵌套循环技术允许这种更改,但在读取下一个if语句后立即将其更改回来。我一直在研究这个问题很长一段时间。任何人都可以在正确的方向上推动我找出这个问题吗?
do
{
int num=input.nextInt();
if (num == 7)
{
if(s.equals("NO")) //corresponding string
{
s = "YES";
}
if(s.equals("YES")) //same corresponding string
{
s = "NO";
}
}
//similar if statements for different conditions
//similar if statements for different conditions
}while(myBoolean()==true);
答案 0 :(得分:1)
你似乎错过了一个其他陈述。
if(s.equals("NO")) //corresponding string
{
s = "YES";
} else if(s.equals("YES")) //same corresponding string
{
s = "NO";
}
或者如果你想稍微缩短一点:
s = s.equalsIgnoreCase("NO") ? "YES" : "NO";
答案 1 :(得分:0)
你应该做的是使用像这样的else if
语句
if (num == 7)
{
if(s.equals("NO"))
{
s = "YES";
}
else if(s.equals("YES"))
{
s = "NO";
}
}
如果第一个if
语句为true
,则会跳过else if
语句。如果if
语句为false
,则会读取else if
语句。你也可以有多个else if
语句,如此
if(boolean)
{
....
}
else if(another boolean)
{
....
}
else if(some other boolean)
{
....
}
如果if
语句和所有else if
语句都是false
,您可以添加else
语句,该语句将被读取
if(boolean)
{
....
}
else if(another boolean)
{
....
}
else
{
....
}
答案 2 :(得分:0)
do
{
只需添加"否则"在你的"如果"之间声明。在您的示例中,当s为" NO"时,您将其更改为" YES"。因此s是"是"当你点击第二个"如果"言。
更好的是,而不是测试两个值" YES和" NO",只测试其中一个并在测试失败时采取相反的情况。
例如为: 做 { int num = input.nextInt();
if (num == 7)
{
if(s.equals("NO")) //corresponding string
{
s = "YES";
}
else // <--- This is the only change I made.
{
s = "NO";
}
}
//similar if statements for different conditions
//similar if statements for different conditions
}while(myBoolean()==true);