当给定字符串等于Sum3
时,以下代码应该打印出N
的值。
但不是打印Sum3
的值,而是打印er
而不管给定的String的值。
当我删除if-else
块时,它可以正常工作。有人可以帮我解决这个问题吗?
这是我的代码:
double myInt1 = input.nextDouble();
double myInt2 = input.nextDouble();
double myInt3 = input.nextDouble();
String cmsc = input.nextLine();
double Sum= ((myInt2 * 60)+myInt3)/(3600);
double Sum2=myInt1+Sum;
if(cmsc.equals("N"))
{
double Sum3= -1*Sum2;
System.out.println(Sum3);
}
else
{
System.out.println("er");
}
输入:
1
2
3
N
预期产出:
-1.0341666666666667
答案 0 :(得分:3)
您使用现有代码未在p
中获得任何内容,只需执行cmsc
即可进入下一行。
您应该在input.nextLine();
中输入后添加input.nextLine();
,然后通过myInt3
在cmsc
中获取任何输入。
以下是更正后的代码段:
String cmsc = input.nextLine();
输入:
double myInt1 = input.nextDouble();
double myInt2 = input.nextDouble();
double myInt3 = input.nextDouble();
/* Goto Next Line */
input.nextLine();
/* Now take input in cmsc */
String cmsc = input.nextLine();
输出:
1
2
3
N