这个程序工作..我测试它而不使用开关..我唯一的问题是不知道如何调用whichtable(int number)方法。
package switchmathtables;
import javax.swing.JOptionPane;
public class MathTables {
public static void printAddition(int x){
int i = 1;
while (x <= 12){
System.out.print (0 + x + " ");
x = x + 1;
}
System.out.println ("");
}
public static void printSinTable(){
double x, y, z;
System.out.print("Angle 30 degree ");
x = 30 * Math.PI/180;
System.out.println ("sin(" + x + ") is " + Math.asin(x));
System.out.print("Angle 60 degree ");
y = 30 * Math.PI/180;
}
public static void printCosTable(){
double x, y, z;
System.out.print("Angle 30 degree ");
x = 30 * Math.PI/180;
System.out.println ("cos(" + x + ") is " + Math.acos(x));
System.out.print("Angle 60 degree ");
y = 30 * Math.PI/180;
}
public static void printTanTable(){
double x, y, z;
System.out.print("Angle 30 degree ");
x = 30 * Math.PI/180;
System.out.println("tan(" + x + ") is " + Math.atan(x));
System.out.print("Angle 60 degree ");
y = 30 * Math.PI/180;
}
public static void printCommonLog(){
double x = 0.5;
while(x < 10) {
System.out.println( x + " " + Math.log(x) / Math.log(10));
x = x + 0.05;
}
}
这是我想从我的主要调用的void switch方法。我不知道怎么样
public static void printAddition(){
int x = 1;
while (x <= 12){
System.out.print (0 + x + " ");
x = x + 1;
}
System.out.println ("");
}
public static void whichtable(int number){
switch (number){
case 1:
printCommonLog();
break;
case 2:
printAddition();
break;
case 3:
printTanTable();
break;
case 4:
printCosTable();
break;
case 5:
printSinTable();
break;
}
这是我的主要内容,我想将whichtable(int number)方法调用到它中..
}
public static void main(String[] args) {
int number;
String inputStr = JOptionPane.showInputDialog ("Type 1 for CommonLog table"
+ "Type 2 for Addition table"
+ "Type 3 for the tangent table"
+ "Type the 4 for the cosine table"
+ "Type the 5 for the sine");
}}
答案 0 :(得分:1)
如果您知道他们在输入字符串中输入了一个整数,您可以在main中说出MathTables.whichtable(Integer.parseInt(inputStr))
,它会打印出其中一个表。
如果main与MathTables在同一个类中,那么你只需要使用whichtable(Integer.parseInt(inputStr))
,但是编写一个可运行的类以及你正在使用的类进行测试和调试是一种很好的编程习惯。 / p>
答案 1 :(得分:1)
由于您需要将String转换为对话框中的数字,因此需要对其进行解析。
int option = Integer.parseInt(inputStr); // Convert the String to an "int"
whichtable(option); // Call the void method!
答案 2 :(得分:1)
在您的inputStr中,您拥有用户的输入。您必须将其解析为整数,然后调用您的方法。你可以使用
final Integer choice = Integer.parseInt(stringToParse);
whichtable(choice);
答案 3 :(得分:0)
使用:
whichtable(Integer.parseInt(inputStr));
whichtable
方法需要Integer
,因此您必须转换它。
答案 4 :(得分:0)
使用JOptionPane.showInputDialog获取字符串 所以当我输入3时,inputStr将是&#34; 3&#34;
你可以将它解析为整数并调用你的方法
whichtable(String.valueOf(inputStr));