rroReturn类型方法丢失,YES_NO_OPTION无法解决一些错误

时间:2014-12-03 08:57:12

标签: java java.util.scanner

我制作了一个程序来识别方形,平方根,数字的立方体和字符串的反向我有一些错误,我没有想法解决这个问题。

以下是我的代码

    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无法解决

1 个答案:

答案 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不同。