我试着写一个基本的计算器,但java看不到我的数字,找不到问题所在:(
这是我的代码,我想 欢迎来到SimpleCalc [ 0.0 ] +,-,*,/值 清楚的 退出 选择:+25.0 [ 25.0 ] +,-,*,/值 清楚的 退出 选择:/4 [ 6.25 ] +,-,*,/值 清楚的 退出 选择:清除 [ 0.0 ] +,-,*,/值 清楚的 退出 选择:q 像这样的输出。但是有什么不对劲,我找不到什么不对劲。我得到的输出是这样的 欢迎来到SimpleCalc [ 0.0 ] +,-,*,/值 清楚的 退出 选择:+25.0 [ 0.0 ] +,-,*,/值 清楚的 退出 选择: 谢谢你的帮助。给你我试着写一个基本的计算器,但java看不到我的数字,找不到问题所在:(,java,Java,这是我的代码,我想 欢迎来到SimpleCalc [ 0.0 ] +,-,*,/值 清楚的 退出 选择:+25.0 [ 25.0 ] +,-,*,/值 清楚的 退出 选择:/4 [ 6.25 ] +,-,*,/值 清楚的 退出 选择:清除 [ 0.0 ] +,-,*,/值 清楚的 退出 选择:q 像这样的输出。但是有什么不对劲,我找不到什么不对劲。我得到的输出是这样的 欢迎来到SimpleCalc [ 0.0 ] +,-,*,/值 清楚的 退出 选择:+25.0 [ 0.0 ] +,-,*,/值
// constants
final String LINE = "----------------";
final String VALUE = " +,-,*,/ value";
final String CLEAR = "Clear";
final String QUIT = "Quit ";
final int ZERO = 0;
// variables
double first;
String function;
double number;
// program code
System.out.println( "Start...");
System.out.println( "Welcome to \"SimpleCalc\" ... ");
first = 0;
// 1.Calculations
do
{
System.out.println(LINE);
System.out.println( "[" + first + "]" );
System.out.println(VALUE);
System.out.println(CLEAR);
System.out.println(QUIT);
System.out.println(LINE);
System.out.println(" SELECT :");
function = scan.next();
if (function.equals("+") || function.equals("-") || function.equals("*") || function.equals("/"))
{
number = scan.nextDouble();
if ( function.equals("+") )
{
first = first + number;
}
else if (function.equals("-") )
{
first = first - number;
}
else if (function.equals("/") )
{
first = first / number;
}
else if (function.equals("*") )
{
first = first * number;
}
}
else if (function.equals("Clear") );
{
first = ZERO;
}
}
while ( function != "q" );
//2. Exit
// todo...
System.out.println( "End.");
}
while function!=q->但奇怪的是,你似乎知道基于if function.equalsClear哦,不要添加;就在ifcondition之后,就像你在else if function.equalsClear中做的那样;在你的帖子中,完全不清楚输入和输出。试着把它分解成一个简单的例子,来演示什么不起作用。@sam Nah,==vs equals是重复的,但我已经使用了我的接近投票,所以现在不能更改它,而且;if之后也是重复的或只是印刷问题,这是堆栈溢出的主题。我不想通过发布可能获得上升投票/接受分数的答案来阻止自动删除像这样的低质量问题。我可以帮助OP b我会发表评论,但仅此而已。
import java.util.Scanner;
public class Calculator {
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
// constants
final String LINE = "----------------";
final String VALUE = " +,-,*,/ value";
final String CLEAR = "Clear";
final String QUIT = "Quit";
final int ZERO = 0;
// variables
double result;
String function;
double number;
// program code
System.out.println("Start...");
System.out.println("Welcome to \"SimpleCalc\" ... ");
result = 0;
// 1.Calculations
while (true) {
System.out.println(LINE);
System.out.println("[" + result + "]");
System.out.println(VALUE);
System.out.println(CLEAR);
System.out.println(QUIT);
System.out.println(LINE);
System.out.println(" SELECT :");
function = scan.next();
if (function.equalsIgnoreCase("q")) {
break;
}
if (function.equalsIgnoreCase("Clear")) {
result = ZERO;
} else {
number = scan.nextDouble();
switch (function) {
case "+":
result = result + number;
break;
case "-":
result = result - number;
break;
case "/":
result = result / number;
break;
case "*":
result = result * number;
break;
}
}
}
//2. Exit
// todo...
System.out.println("End.");
}
}