【发布时间】:2014-09-21 16:09:41
【问题描述】:
所以我对一般的编程非常陌生,而且我才刚开始学习 Java 暑期课程几周,我对这个需要使用三个类的简单 Java 计算器的作业感到非常困惑。
我决定编写代码并在一个类中“工作”,然后尝试将其拆分为必要的多个类。但是,我在这样做时遇到了麻烦。我想我对方法和参数的工作方式感到更加困惑。我非常感谢任何帮助解释它们在这个程序或类似程序中的工作方式,以便我能更清楚地理解它。
以下是我很难理解的部分说明...... “Driver 类是唯一具有 hmain(String[] args)method 的类。Driver 类应该调用 Menu 类中的一个方法来打印菜单,并且从该方法中应该调用 Actions 类中的方法以实现各自的功能菜单。”
Menu 类和方法调用工作正常,我计划基本上将其余部分添加到 Action 类中,但每次我弄乱它时,我都会更加困惑。我不知道它是否有区别,但我考虑将开关添加到 Menu 类,如果我这样做了,我是否需要将其作为调用开关的方法?这将如何运作?
import java.util.Scanner;
import java.io.*;
public class Driver {
public static void main(String[] args) {
String s1 = Menu.getInput("Enter a numeric value: ");
String s2 = Menu.getInput("Enter a numeric value: ");
String option = Menu.getInput("Enter: \n 1=Add \n 2=Subtract \n 3=Multiply \n 4=Divide");
class Action {
int optionInt = Integer.parseInt(option);
double result = 0;
switch (optionInt) {
case 1:
result = addValues(s1, s2);
break;
case 2:
result = subtractValues(s1, s2);
break;
case 3:
result = multiplyValues(s1, s2);
break;
case 4:
result = divideValues(s1, s2);
break;
default:
System.out.println("You entered an incorrect value");
}
public static String(
System.out.println("The answer is " + result);
}
private static double divideValues(String s1, String s2) {
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double result = d1 / d2;
return result;
}
private static double multiplyValues(String s1, String s2) {
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double result = d1 + d2;
return result;
}
private static double subtractValues(String s1, String s2) {
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double result = d1 - d2;
return result;
}
private static double addValues(String s1, String s2) {
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double result = d1 + d2;
return result;
}
}
}
class Menu {
public static String getInput(String prompt) {
String option;
Scanner scan = new Scanner(System.in);
System.out.println(prompt);
return option = scan.nextLine();
}
}
感谢您的帮助!!
斯科特
【问题讨论】:
-
你的教授教过你面向对象的编程吗?
-
尝试使用 Eclipse 之类的 IDE。 IDE 将允许您选择一个文件选项来创建新类,如果您的代码无法编译(如您的情况),它将通知您。
-
我在为其他类创建要调用的方法以及我需要什么参数时遇到更多麻烦。
-
好的,我想我知道如何设置课程了。 Eclipse 上类的新文件的好主意。我的新问题是如何调用addValues、SubtractValues、divideValues,而multiplyValues是Menu类。我不确定要在通话中提出什么论据?我认为它应该看起来类似于...Action.addValues(....);我不知道要添加什么参数。
-
您必须实例化该类的一个对象,然后调用该类的方法。
Action action = new Action(),然后是action.addValues(..)
标签: java class methods parameters arguments