我正在試圖製作一個帶有4個功能的計算器,這是基於字的。當我試圖實現選擇的操作時,我得到一個stackoverflow錯誤。製作基本的計算器時出現StackOverFlowError
類計算器:
package us.plexproductions.main;
import java.util.Scanner;
public class Calculator {
public static int firstnum;
public static int secondnum;
public static int answer;
public static int operation;
Calculator c = new Calculator();
static Scanner s = new Scanner(System.in);
static Operations o = new Operations();
public static void main(String[] args) {
prompt();
start();
}
public static void prompt() {
System.out.println("########################");
System.out.println("#Calculator Version 1.0#");
System.out.println("########################");
System.out.println("************************");
System.out.println("This is a calculator that\ncan add, subtract, multiply, and divide\n" +
"multiple numbers at once.");
System.out.println("------------------------");
System.out.println("Start Calculating by Entering A Number and Then\nspelling out the operation you " +
"want to preform to that\nnumber and type in another number.");
}
public static void start() {
System.out.println("------------------------");
System.out.println("Enter Your First Number: ");
firstnum = s.nextInt();
System.out.println("------------------------");
System.out.println("Which operation would you like to use?\nAddition = 1, Subtraction = 2, Multiplication = 3, or Division = 4?");
operation = s.nextInt();
second();
}
public static void second() {
if (operation == 1) {
o.addition();
}
if (operation == 2) {
o.subtraction();
}
if (operation == 3) {
o.multiplication();
}
if (operation == 4) {
o.division();
}
}
}
類操作:
package us.plexproductions.main;
import java.util.Scanner;
public class Operations {
Calculator c = new Calculator();
Scanner s2 = new Scanner(System.in);
public void addition() {
System.out.println("Addition Selected.");
System.out.println("Enter Second Number: ");
Calculator.secondnum = s2.nextInt();
}
public void subtraction() {
}
public void multiplication() {
}
public void division() {
}
}
當你在調試器中執行代碼時會發生什麼?在這裏傾倒大量代碼並說「我得到了一個堆棧溢出錯誤,怎麼了?」並沒有顯示出很大的努力來解決你自己的問題。 (您可能會看到'Calculator c = new Calculator()'這個事實,''Class Calculator'開頭的'這似乎不是一個好主意。) – 2013-04-06 00:26:30