第5講 for文を理解しよう 
第3話 キーボードから値を取得する
キーボードから値を取得して第2話の解答をより普遍的なプログラムに変更しましょう。

まず、文字を取得するには
import java.io.*;
class x{
  public static void main(String args[])
throws IOException {
    
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
    String s;
    s=a.readLine();
    System.out.println(s);
  }
}
実行画面例
入門
解説
ピンクの部分は、文字をキーボードから取得するときに必要なお呪いだと思ってください。
そして、
は全体で最初のラインにaという名前をつけるためのお呪いだと思ってください。
s=a.readLine();がaという名前のついたライン(a.readLine();)に書いてある内容を文字型変数sに入れなさいという命令です。
ライン上のデータは、数字7であっても文字の7として扱われます。
(同じ7でも文字の7と整数の7をコンピュータは別のものとして扱うのです。
これは私が学んだプログラム言語(BASIC、パスカル、C言語、C++、Visual Basic、Visual C++)すべてに共通です。)
ですから、
import java.io.*;
class x{
  public static void main(String args[])
throws IOException {
    
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
    
int s;
    s=a.readLine();
    System.out.println(s);
  }
}
とすると、
Java
とエラーしていまいます。String型の内容を無理にint型変数に入れようとしたという意味です。
では、文字である7を整数型=int型に変換するにはどうしたらよいでしょうか。
Integer.parseInt(a.readLine());とすればよいのです。
Integer.parseInt()を着せてやると()内のものが、整数型に変換されます。
import java.io.*;
class x{
  public static void main(String args[]) throws IOException {
    BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
    int s;
    s=Integer.parseInt(a.readLine());
    System.out.println(s);
  }
}
初心者
これで、キーボードから得た文字7が整数型に変更され、int型変数sに収納されました。
import java.io.*;
class x{
  public static void main(String args[]) throws IOException {
    BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
    int s;
    System.out.print("初項=");
    s=Integer.parseInt(a.readLine());
  }
}
として、コンパイル・実行し5を入力すると
Java
となります。

では皆さん、
基礎
初項5、末項305、公差3と入力すると、その和15655を求めるプログラムを考えましょう。
これは
5+8+11+・・・+305
を求める計算です。


第2話へ 第4話へ

戻る

VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部