我制作了一个程序来识别方形,平方根,数字的立方体和字符串的反向我有一些错误,我没有想法解决这个问题。
以下是我的代码
import javax.swing.JOptionPane;
import java.util.Scanner;
public class FLABWORK3_ABUEL
{
static Scanner Scan new = Scanner (System.in);
public static void main(String[] args)
{
String choice;
String num1;
String string;
String Inverse;
int choicee, num2, response, length;
double squareroot;
do {
choice = JOptionPane.showInputDialog("Main Menu" +
"\n 1. Square of a number" +
"\n 2. Square root a number" +
"\n 3. Cube of a number" +
"\n 4. Length of number" +
"\n 5. Inverse of a string");
choicee = Integer.parseInt(choice);
while (choicee > 5)
{
choice = JOptionPane.showInputDialog("Enter only 1-5!");
}
switch (choicee)
{
case 1:
num1 = JOptionPane.showInputDialog("Enter an number.");
num2 = Integer.parseInt(num1);
num2 = num2*num2 ;
JOptionPane.showMessageDialog(null, "The square of the number: " + num2);
break;
case 2:
num1 = JOptionPane.showInputDialog("Enter a number.");
squareroot = Integer.parseInt(num1);
squareroot = Math.sqrt(squareroot);
JOptionPane.showMessageDialog(null, "Square root is: " + squareroot);
break;
case 3:
num1 = JOptionPane.showInputDialog("Enter a number.");
num2 = Integer.parseInt(num1);
num2 = num2*(num2*num2);
JOptionPane.showMessageDialog(null, "The cube is: " + num2);
break;
case 4:
string = JOptionPane.showInputDialog("Enter a sentence or a word.");
length = string.length();
JOptionPane.showMessageDialog(null, "The length : " + "\n" + length + "\n\n" +
"is:" + string);
break;
case 5:
string = JOptionPane.showInputDialog("Enter a word.");
length = string.length();
for (int i = length - 1; i >= 0; i--)
Inverse = Inverse + string.charAt(i);
JOptionPane.showInputDialog(null, "Would you like to ry again?"
JOptionPane.YES_NO_OPTION,
JOptionPane.Question_Message, null, options, options [0]);
}
}
while (response == JOptionPane.YES_OPTION);
}
}
切换案例或if else语句是否更好? 错误是返回类型方法丢失静态扫描仪并且YES_NO_OPTION无法解决
答案 0 :(得分:1)
这可能是你在“你想再次出现吗?”之后错过了一个逗号。下面的字符串:
JOptionPane.showInputDialog(null, "Would you like to ry again?"
JOptionPane.YES_NO_OPTION,
JOptionPane.Question_Message, null, options, options [0]);
应该是:
JOptionPane.showInputDialog(null, "Would you like to ry again?",
JOptionPane.YES_NO_OPTION,
JOptionPane.Question_Message, null, options, options [0]);
您还将扫描仪定义如下:
static Scanner Scan new = Scanner (System.in);
哪个应该是
static Scanner Scan = new Scanner (System.in);
另一件事是我没有看到你在任何地方定义选项。因此,您可能需要在使用下面的行之前声明并初始化它:
JOptionPane
.showInputDialog(null, "Would you like to ry again?",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, options,
options[0]);
注意:Java区分大小写,因此Question_Message与QUESTION_MESSAGE不同。