gpt4 book ai didi

java - java代码学院中的简单基本计算器

转载 作者:行者123 更新时间:2023-12-02 02:05:18 24 4
gpt4 key购买 nike

我刚刚学会了如何使用类和构造函数,但不知道为什么我的代码没有运行。说是非法启动,但我确信这是正确的。我也看了别人的代码,和我写的一样。有人可以看看哪里出了问题

public class Calculator{//basic calculator

public Calculator(){

public int add(int a, int b){
return a+b;
}
public int subtract(int a, int b){
return a-b;
}
public int multiply(int a, int b){
return a*b;
}
public int divide(int a, int b){
if(b==0){
System.out.println("Error! Dividing by zero is not allowed.");
return 0;
}else{
return a/b;
}
}
public int modulo(int a, int b){
if(b==0){
System.out.println("Error! Dividing by zero is not allowed.");
return 0;
}else{
return a%b;
}
}
}
public static void main(String[]args) {
Calculator myCalculator = new Calculator();
System.out.println(myCalculator.add(5, 7));
System.out.println(myCalculator.subtract(12, 34));
}


}

最佳答案

删除 public Calculator() { 该行不执行任何操作。

编辑:实际上,乍一看,该行似乎是一个尝试的构造函数,但您将整个类内容包装在括号 {} 中。这应该有效:

public class Calculator {//basic calculator

public Calculator() {

}

public static void main(String[] args) {
Calculator myCalculator = new Calculator();
System.out.println(myCalculator.add(5, 7));
System.out.println(myCalculator.subtract(12, 34));
}


public int add(int a, int b) {
return a + b;
}

public int subtract(int a, int b) {
return a - b;
}

public int multiply(int a, int b) {
return a * b;
}

public int divide(int a, int b) {
if (b == 0) {
System.out.println("Error! Dividing by zero is not allowed.");
return 0;
} else {
return a / b;
}
}

public int modulo(int a, int b) {
if (b == 0) {
System.out.println("Error! Dividing by zero is not allowed.");
return 0;
} else {
return a % b;
}
}

}

编辑#2:正如 Wombat 指出的(我最不喜欢的 Java 功能之一,因为我花了很多时间进行故障排除)是 a/b 是整数除法并且将(实际上)永远不会给你你需要的结果。另外,您的方法返回 int 这可能不是您的意图。所以你的divide方法应该使用double:

public double divide(double a, double b) {
if (b == 0) {
System.out.println("Error! Dividing by zero is not allowed.");
return 0;
} else {
return a / b;
}
}

关于java - java代码学院中的简单基本计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50919331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com