質問編集履歴

2 再エラー

abc11t

abc11t score 6

2017/08/23 19:59  投稿

java 数当てゲーム
java 数当てゲーム
1.最初にコンピュータが「1以上100未満の値を1つ思い浮かべてください」と
聞いてくる。
2.つづいて「その値は50より小さいですか(y/n)?」と尋ねてくる
3.もしyと答えると「するとその値は1以上50未満ですね」と答えさらに
「ではその値は25より小さいですか(y/n)?と尋ねてくる
4.ここでnと答えると「するとその値は25以上50未満ですね」と答えてくる
というように質問に対する答えによって値の存在する範囲を徐々に狭めていき
最後には「ではその値は〇〇ですね」と最初に思った値をコンピュータが言い当てる
以上のようなプログラムを作成できなくて困っています。
プログラムを教えてください
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Kazuate {
public static void main(String[] args) {
try {
int kagen=1;
int jogen=100;
int tyuuou;
BufferedReader stdReader =
new BufferedReader(new InputStreamReader(System.in));
while(){
tyuuou = (kagen + jogen)/2;
System.out.print("その値は"+tyuuou+"より小さいですか(y/n)?");
String line= stdReader.readLine();
if(line.equals("y")){
jogen = tyuuou ;
if(kagen=jogen){
System.out.println("ではその値は"+jogen+"ですね");
break;
}else {
System.out.println("するとその値は"+kagen+
"以上"+jogen+"未満 ですね");
}
}else if(line.equals("n"){
kagen = tyuuou;
if(kagen=jogen){
System.out.println("ではその値は"+jogen+"ですね");
break;
}else {
System.out.println("するとその値は"+kagen+
"以上"+jogen+"未満 ですね");
}
}else {
System.out.println("yかnで答えてください");
}
}
stdReader.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
Kazuate.java:12: エラー: 式の開始が不正です
while(){
     ^
Kazuate.java:25: エラー: ')'がありません
}else if(line.equals("n"){
                       ^
Kazuate.java:18: エラー: 不適合な型: intをbooleanに変換できません:
if(kagen=jogen){
      ^
Kazuate.java:27: エラー: 不適合な型: intをbooleanに変換できません:
if(kagen=jogen){
       ^
エラー2個
 
プログラムは作ってみました
ただエラーが直せません
  • Java

    20141 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1 プログラムとエラー直し方

abc11t

abc11t score 6

2017/08/23 19:47  投稿

java 数当てゲーム
java 数当てゲーム
1.最初にコンピュータが「1以上100未満の値を1つ思い浮かべてください」と
聞いてくる。
2.つづいて「その値は50より小さいですか(y/n)?」と尋ねてくる
3.もしyと答えると「するとその値は1以上50未満ですね」と答えさらに
「ではその値は25より小さいですか(y/n)?と尋ねてくる
4.ここでnと答えると「するとその値は25以上50未満ですね」と答えてくる
というように質問に対する答えによって値の存在する範囲を徐々に狭めていき
最後には「ではその値は〇〇ですね」と最初に思った値をコンピュータが言い当てる
以上のようなプログラムを作成できなくて困っています。
プログラムを教えてください
プログラムを教えてください
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Kazuate {
public static void main(String[] args) {
try {
int kagen=1;
int jogen=100;
int tyuuou;
BufferedReader stdReader =
new BufferedReader(new InputStreamReader(System.in));
while(){
tyuuou = (kagen + jogen)/2;
System.out.print("その値は"+tyuuou+"より小さいですか(y/n)?");
String line= stdReader.readLine();
if(line.equals("y")){
jogen = tyuuou ;
if(kagen=jogen){
System.out.println("ではその値は"+jogen+"ですね");
break;
}else {
System.out.println("するとその値は"+kagen+
"以上"+jogen+"未満 ですね");
}
}else if(line.equals("n"){
kagen = tyuuou;
if(kagen=jogen){
System.out.println("ではその値は"+jogen+"ですね");
break;
}else {
System.out.println("するとその値は"+kagen+
"以上"+jogen+"未満 ですね");
}
}else {
System.out.println("yかnで答えてください");
}
}
stdReader.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
Kazuate.java:12: エラー: 式の開始が不正です
while(){
     ^
Kazuate.java:25: エラー: ')'がありません
}else if(line.equals("n"){
                        ^
エラー2個
プログラムは作ってみました
ただエラーが直せません
  • Java

    20141 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る