我正在学习Java,并且一直致力于创建一个小计算器。我正在写一个允许我输入任意数字的数字,直到我按下等号,此时我希望计算器显示总数。
我认为扫描程序存在问题,因为在调试时我只能到Scanner input = new Scanner (System.in):
在调试器中它说Source not found。这真的很奇怪,特别是因为我在同一个项目中使用两个扫描仪而没有任何问题。你可以告诉我以前在这件作品中有2个扫描仪,但我读到这不应该有效,所以我现在正在使用一个。这是代码......
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 + ".");
}
}
答案 0 :(得分:0)
您的代码存在的问题是operative
未在第一次阅读后更新,可能不会=
。因此,您的循环将不会退出,并且将无法访问print语句。遵循您的逻辑,您需要在循环中添加read语句。此外,我建议使用switch
,这将使您更易读,更易于维护。
另请注意,在调试时,如果您的调试器无法检测到源,则会找到“Source not found”。可能您的JDK配置缺少源条目。如果您使用Eclipse,请参阅此answer以获取有关修复JDK配置所需检查内容的详细信息。