[英]loan payment calculator, how to implement multiple methods. Trouble developing method to interact with main method
[英]Unable to call Multiple methods in Main method of Java Calculator program
這是一個簡單的計算器 java 程序。 我正在嘗試使用 java 構建 4 個操作(+、-、* 和 /)。
為了使程序模塊化,我創建了多個方法並在 Main() 方法中調用它們。 問題是方法 'calcContinue();' 不是從 main 方法調用。 我沒有收到錯誤或警告。 運行時,main() 方法調用 chooseOperation() 並允許用戶輸入 num1 和 num2。 然而,在那之后就什么都沒有了。 我期待 main() 也能調用 'calcContinue() 方法。
請建議我如何更正我的代碼以從主調用“calcContinue()”。
import java.util.*;
public class Calculator {
static double num1, num2;
static int operator;
static double result;
static Scanner scanObj = new Scanner(System.in);
public static void main(String[] args) { //main method
System.out.print("enter first number:"); //user will enter number 1
num1 = scanObj.nextDouble();
System.out.print("enter Second number:"); //user will enter number 1
num2 = scanObj.nextDouble();
chooseOperation();
calcContinue();
}
public static void chooseOperation() { //user will choose calculator operation using 1-4
System.out.println("Please select"
+ "\n 1. Addition "
+ "\n 2. Subtraction"
+ "\n 3. Multiplication"
+ "\n 4. Division");
System.out.print("enter the calculator operation\t" + scanObj.nextLine()); //user will enter calculator operation
operator = scanObj.nextInt();
if (operator == 1 ) {
addition();
}
else if (operator == 2) {
subtraction();
}
else if (operator == 3) {
multiplication();
}
else {
division();
}
}
public static char calcContinue() { //method for user to select if they want to continue
System.out.print("do you want to perform more operation \t Y/N ?" + scanObj.next().charAt(0));
char a = scanObj.next().charAt(0);
if (a == 'Y' || a == 'y') {
Calculator.chooseOperation();
} else {
System.out.println("Calculator operation is terminated");
}
return a;
}
public static void addition() { //method for addition
result = num1 + num2;
System.out.println("Addition of\t" +num1+ "and" +num2+ "is\t:" + result);
}
//method for subtraction
public static void subtraction() {
result = num1 - num2;
System.out.println("subtraction of\t" +num1+ "and" +num2+ "is:\t" + result);
}
//method for multiplication
public static void multiplication() {
result = num1 * num2;
System.out.println("multiplication of\t" +num1+ "and" +num2+ "is:\t" + result);
}
//method for division
public static void division() {
result = num1/num2;
System.out.println("Division of\t" +num1+ "and" +num2+ "is:\t" + "" + result);
}
}
首先,你的代碼工作得很好。 問題是在calcContinue()
的開頭,您告訴 java IO 等待 2 次以輸入輸入。 只需更換
System.out.print("do you want to perform more operation \t Y/N?" + scanObj.next().charAt(0));
和
System.out.print("do you want to perform more operation \t Y/N?");
在下一行中,您正在讀取用戶的輸入。 所以不需要在 print 語句中調用scanObj.next().charAt(0)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.