int n = 1;
int sum = 0;
while(sum+n <= 100){ //今までの和とnを足し、100以下ならループ
sum = sum + n; //現在の和に n を足す
n = n + 1; //n を一つ増やす
}
System.out.println(n - 1); //一つ前の n を出力
上記例を参考に、1 からの奇数を順に足していき(1+3+5+7+...+n)、その和が 200を超えない最大の n を求めるプログラム OKadai060601.java を作成せよ。(1+3+5+7+...+n ≦ 200)OKadai060601の実行例
(コンソール画面) 27
import java.io.*;
public class Add {
public static void main(String[] args) throws IOException {
String s;
int sum = 0;
int n = 1;
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
while(n != 0){ // a が 0 以外ならループする
System.out.println("数値を入力");
s = buf.readLine(); //入力を標準入力より取得
n = Integer.parseInt(s); //入力文字列をint型に変換
sum = sum + n;
System.out.println(" = "+sum);
} //while に戻る
}
}
上記サンプルプログラムを参考に、標準入力(キーボード)より 1 が与えられるまで、与えられた数値を繰り返し掛け算を行うプログラム OKadai060602.java を作成せよ。
OKadai060602の実行例 (2 x 3 x 2 x 1 = 12)
(コンソール画面) 数値を入力 2 =2 数値を入力 3 =6 数値を入力 2 =12 数値を入力 1 =12
/*
プログラム名: OKadai060603.java
作成日: 2016/06/06
作成者: ここには学籍番号と自分の名前を書く
概要: どのようなプログラムなのかを書く
*/
import java.io.*;
public class OKadai060603 {
public static void main(String[] args) throws IOException {
//標準入力の準備
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
//計算のための適当な初期値を設定
int xn = 0;
int a=2061;
int b=7;
int c=65536;
int computer; //コンピュータの数値
int guess; //ユーザの予想
while(true){ //常にtrueのため無限ループ
xn=((xn*a)+b) % c; //ごちゃごちゃと計算して
computer = (xn % 10) + 1; //値の範囲を1〜10までに制限
System.out.print("Your guess : ");
guess = Integer.parseInt(buf.readLine()); //入力を標準入力より取得
System.out.println("Computer's number was: " + computer); //コンピュータ側の数値
if(computer == guess){
System.out.println("正解!"); //あたり
}
} //whileに戻る
} //mainの終り
}//class OKadai060603 の終り
上記のプログラムは、whileが常に"true"のため、永遠に終了しない。