0

javax.swing.*を通常のコマンド ライン プロンプトに変換するにはどうすればよいですか? https://compilr.com/でコードをテストしようとしましたがjavax.swing.*、ダイアログが表示されないためです。

import javax.swing.*;

public class Program
{
  public static void main ( String[] args)
  {
    int numOfGrades = 0, gradeCount = 0, sum = 0;
    char grade;
    String openMsg, getNumOfGrades, getGrades, outMsg1, gradeOut;

    openMsg = "Welcome.\n\n" +
    "Grading Scale: A = 4, B = 3, C = 2, D = 1, F = 0\n\n" +
    "Please tell me how many grades to enter today:";
    getNumOfGrades = JOptionPane.showInputDialog ( openMsg );
    numOfGrades = Integer.parseInt ( getNumOfGrades );



    while ( gradeCount != numOfGrades )
    {
      getGrades =  JOptionPane.showInputDialog("Please enter grade number: "+ (gradeCount+1) + "\n" +
      "Grading Scale: A = 4, B = 3, C = 2, D = 1, F = 0\n\n");
      grade = getGrades.charAt ( 0 );
      JOptionPane.showMessageDialog ( null, grade );

      //int sum = 0;

      switch(grade)
      {
      case 'a': case 'A':
        grade = 4;
        break;
      case 'b': case 'B':
        grade = 3;
        break;
      case 'c': case 'C':
        grade = 2;
        break;
      case 'd': case 'D':
        grade = 1;
        break;
      case 'f': case 'F':
        grade = 0;
        break;
      default:
        String errOut = "Sorry, Invalid entry. Exiting Program!";
        JOptionPane.showMessageDialog ( null, errOut );
        break;
      }

      sum += grade;

      gradeCount++;
    }

    double gpa = sum / gradeCount;

    outMsg1 = "You entered " + numOfGrades + " grades\n" +
    "Your GPA is: " + gpa + "\n" +
    "These were the grades you entered: "; //+ grade;  

    JOptionPane.showMessageDialog ( null, outMsg1 );

    System.exit ( 0 );

  }
}
4

1 に答える 1

2

それはすべてあなたがやろうとしていることに依存します。実行可能なプログラムが必要な場合、最も簡単な方法は、入力を求めるのではなく、コマンドライン引数を使用して入力を渡すことです。

実行するクラスの名前の後の各コマンドライン引数は、メインメソッドが受け取るargs文字列配列として渡されます。したがって、この配列からそれらを簡単に読み取ることができます。

入力を求めるプロンプトを表示する場合は、を使用してメッセージを書き出す必要がありますSystem.out.println。入力は、を使用して「標準入力」から読み取ることができますSystem.in。これは入力ストリームであるため、通常はBufferedReaderと入力ストリームリーダーでラップされます。例えば

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Type some data");
String theData = reader.readLine()
于 2012-11-08T08:26:54.737 に答える