Java计算器使用扫描器,但控制台中不显示输出
我正在学习Java,刚刚开始制作一个小计算器。我正在写一个允许我输入任意数字的函数,直到我按下等号,我希望计算器显示总数 我认为扫描仪有问题,因为调试时,我只得到Java计算器使用扫描器,但控制台中不显示输出,java,debugging,java.util.scanner,calculator,Java,Debugging,Java.util.scanner,Calculator,我正在学习Java,刚刚开始制作一个小计算器。我正在写一个允许我输入任意数字的函数,直到我按下等号,我希望计算器显示总数 我认为扫描仪有问题,因为调试时,我只得到scanner input=new scanner(System.in):在调试器中,它说找不到源代码。这真的很奇怪,尤其是当我在同一个项目中使用另一个类的两个扫描器时,一点问题都没有。正如你可以告诉我,我曾经有两个扫描仪在这一块,但我读到,这应该不工作,所以我现在使用一个。这是代码 package Calculator; impor
scanner input=new scanner(System.in):
在调试器中,它说找不到源代码。这真的很奇怪,尤其是当我在同一个项目中使用另一个类的两个扫描器时,一点问题都没有。正如你可以告诉我,我曾经有两个扫描仪在这一块,但我读到,这应该不工作,所以我现在使用一个。这是代码
package Calculator;
import java.util.Scanner;
public class Calculator3 {
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
// Scanner opin = new Scanner (System.in);
String operative = input.next();
double numb = input.nextDouble();
int answer = 0;
int calc = 1;
System.out.print("#######################################" + "\n");
while (operative.equalsIgnoreCase("="))
{
System.out.print("Interger " + calc + " :");
System.out.print("Type your Operative :");
if (operative.equals("+"))
answer += numb;
{
if (operative.equals("-"))
answer -= numb;
{
if (operative.equals("/"))
answer /= numb;
{
if (operative.equals("*"))
answer *= numb;
{
}
}
}
}
calc += 1;
}
System.out.print("#######################################" + "\n");
System.out.println("Your answer is: " + answer + ".");
}
}
代码的问题是,
操作
没有更新,并且在第一次读取后可能没有更新。因此,您的循环将不会退出,也不会到达print语句。按照您的逻辑,您需要在循环中添加read语句。另外,我建议使用开关
,这将使您的应用程序更易于阅读和维护
还请注意,在调试时,对于调试器无法检测源的类,您将获得“找不到源”。可能您的JDK配置缺少源条目。如果您使用的是Eclipse,请参阅本页,了解修复JDK配置需要检查哪些内容的详细信息。您可能正在尝试介入,因此它会抱怨,因为它无法找到
扫描仪或系统)的源代码,而调试时您应该跳过。请花点时间阅读switch/case语句。它将帮助你收紧代码。