【发布时间】:2021-04-19 06:25:17
【问题描述】:
我是 java 新手,正在尝试使用方法创建一个简单的计算器。我知道这并不完美,但我正在尝试获取一个字符串,将其转换为双精度数,然后进行加法、减法等。这就是我到目前为止所做的......代码运行......但它抛出了一个奇怪的非法异常,说“+”是一个悬空修饰符。我的问题是为什么?这似乎可行....但显然不行。
代码:
import java.util.Scanner;
public class calculator4 {
public static void main(String [] args){
double sum;
double subtract;
double multi;
double dividend;
String problem;
System.out.println("This is a program designed to perform basic calculator functions.");
System.out.println("Please enter a problem using the following operations:");
System.out.println("For addition, use +.");
System.out.println("For subtraction, use -.");
System.out.println("For multiplication, use *");
System.out.println("For division, use /.");
System.out.println("These are the only accepted values.");
System.out.println("Please enter your problem:");
Scanner scnr = new Scanner(System.in);
problem = scnr.nextLine();
if(problem.contains("+")){
String [] part = problem.split("+");
String part1 = part [0];
String part2 = part [1];
double add1 = Double.parseDouble(part1);
double add2 = Double.parseDouble(part2);
sum = add1 + add2;
}
else if(problem.contains("-")){
String [] part = problem.split("-");
String part1 = part [0];
String part2 = part [1];
double subtract1 = Double.parseDouble(part1);
double subtract2 = Double.parseDouble(part2);
subtract = subtract1 - subtract2;
}
else if(problem.contains("*")){
String [] part = problem.split("*");
String part1 = part [0];
String part2 = part [1];
double multi1 = Double.parseDouble(part1);
double multi2 = Double.parseDouble(part2);
multi = multi1 * multi2;
}
else if(problem.contains("/")){
String [] part = problem.split("/");
String part1 = part [0];
String part2 = part [1];
double dividend1 = Double.parseDouble(part1);
double dividend2 = Double.parseDouble(part2);
dividend = dividend1 * dividend2;
}
}
public double addition(double sum){
return sum;
}
public double subtraction(double subtract){
return subtract;
}
public double multipliation(double multi){
return multi;
}
public double division(double dividend){
return dividend;
}
calculator4 addition = new calculator4();
calculator4 subtraction = new calculator4();
calculator4 multiplication = new calculator4();
calculator4 division = new calculator4();
}
【问题讨论】:
-
使用 Java 命名约定将使您的代码更易于阅读。类的名称应以大写字母开头。所以
Calculator4,而不是calculator4。 -
正确格式化您的代码示例。要么全部缩进,要么用四个空格字符,或者用一对三个反引号括起来。
-
是的!非常感谢!
-
以后发帖前,先搜索自己的错误信息。
标签: java