会计结果无法正确打印

时间:2016-02-16 18:12:44

标签: java java.util.scanner java-io

当给定字符串等于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

1 个答案:

答案 0 :(得分:3)

您使用现有代码未在p中获得任何内容,只需执行cmsc即可进入下一行。

您应该在input.nextLine();中输入后添加input.nextLine();,然后通过myInt3cmsc中获取任何输入。

以下是更正后的代码段:

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