選択構造

ある数が50以上なら1と表示

どのプログラムも、(1)エディタでソースファイルをつくる-(2)コンパイルする-(3)実行する のステップです。

得点(tokutenとします)が50以上なら 1 と表示し、そうでないときは 0 と表示するプログラムを作ります。

エディタを使って java というフォルダ内に次のような内容のファイルを作り、Sentaku01.java という名前で保存します。

全部直接入力の文字(半角)です。ファイル名を含めて大文字小文字の違いにも気をつけてください。

ファイル名 Sentaku01.java

public class Sentaku01 { 
    public static void main( String[] args ) {
        int tokuten,g;
        tokuten = 55;
        if ( tokuten>=50 ) {
            g = 1;
        }
        else{
            g = 0;
        }
        System.out.println( g );
    } 
}

コンパイルと実行は次のようにします。

$ javac Sentaku01.java
$ java Sentaku01
1
$ 

このプログラムでは、tokuten が55と決まっているのでいつも 1 とでます。tokuten が 50 未満のときに 0 と出るのを確かめたければ、tokuten=55 の部分を tokuten=40 などと書き直して、再度コンパイルし、実行する必要があります。

判定する数をあとから入力する

Sentaku01.java から次の部分を変更・追加するだけです。エディタで「別名で保存」を選び、Sentaku02.java という名前で保存すればいいでしょう。

ファイル名 Sentaku02.java

import javax.swing.*;

public class Sentaku02 { 
   public static void main( String[] args ) {
       int tokuten,g;
       String s;
       s = JOptionPane.showInputDialog("整数を入れてください?");
       tokuten = Integer.parseInt(s);
       if ( tokuten>=50 ) {
            g = 1;
       }
       else{
            g = 0;
       }
       JOptionPane.showMessageDialog(null,g);
   } 
}

Sentaku01 で tokuten=55 であったところを JOptionPane.showInputDialog を使って入力するようにしました。

System.out.println( g ); で端末に表示したところを、JOptionPane.showMessageDialog を使って表示するようにしました。

コンパイルと実行は次のようにします。

$ javac Sentaku02.java
$ java Sentaku02

数を入れて[了解]をクリックすると 0 か 1 が表示されます。

[了解]をクリックするとプログラムは終了して、端末にプロンプトが戻ります。

$ java Sentaku02
$

3つに分ける

得点(tokutenとします)が30未満なら 1 と表示し、30以上50未満なら 2 と表示し、50以上では 3 と表示するプログラムを作ります。

Sentaku02.java から次の部分を変更するだけです。エディタで「別名で保存」を選び、Sentaku03.java という名前で保存すればいいでしょう。

ファイル名 Sentaku03.java

import javax.swing.*;

public class Sentaku03 { 
    public static void main( String[] args ) {
       int tokuten,g;
       String s;
       s = JOptionPane.showInputDialog("整数を入れてください?");
       tokuten = Integer.parseInt(s);
       if ( 30 > tokuten ) {
            g = 1;
       }
       else if ( 50 > tokuten ){
            g = 2;
       }
       else{
            g = 3;
       }
       JOptionPane.showMessageDialog(null,g);
    } 
}

コンパイルと実行は次のようにします。

$ javac Sentaku03.java
$ java Sentaku03
$ 

30以上50未満が、50 > tokuten だけで良いのは次のような事情によります。

100 50 30 0
30未満
100 50 30
50未満
100 50
残り

-1で終了する

Sentaku02.java で tokuten に -1 が入力されたら、表示しないで終了するプログラムを作ります。

Sentaku02.java から次の部分を変更するだけです。エディタで「別名で保存」を選び、Sentaku04.java という名前で保存すればいいでしょう。

ファイル名 Sentaku04.java

import javax.swing.*;

public class Sentaku04 { 
    public static void main( String[] args ) {
       int tokuten,g;
       String s;
       s = JOptionPane.showInputDialog("整数を入れてください?");
       tokuten = Integer.parseInt(s);
       if ( tokuten != -1 ){
           if ( tokuten>=50 ) {
               g = 1;
           }
           else{
               g = 0;
           }
           JOptionPane.showMessageDialog(null,g);
        }
    } 
}

または、プログラムの終了が System.exit(0) でできることを知っていれば次のように書くこともできます。

import javax.swing.*;

public class Sentaku04 { 
    public static void main( String[] args ) {
        int tokuten,g;
        String s;
        s = JOptionPane.showInputDialog("整数を入れてください?");
        tokuten = Integer.parseInt(s);
        if ( tokuten == -1 ) System.exit(0);
        if ( tokuten>=50 ){
            g = 1;
        }
        else{
            g = 0;
        }
        JOptionPane.showMessageDialog(null,g);
    } 
}

コンパイルと実行は次のようにします。

$ javac Sentaku04.java
$ java Sentaku04
$