java猜数游戏(产生1-100的随机数,5次没有猜中就退出,猜错了给予提示)

5次没有猜中就退出怎么搞 我第6次还可以输入这是怎么回事?
public static void main(String[] args) {
// 2、猜数游戏(产生1-100的随机数,5次没有猜中就退出,猜错了给予提示)
System.out.println("请输入你猜的数字:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
Random rand = new Random();
int n = rand.nextInt(101);
while (true) {
if (a == n) {
System.out.println("恭喜你猜对了!");
break;
} else {
for (int i = 1; i <=5;i++) {

System.out.println("不好意思你猜错了...");
a = sc.nextInt();

}
break;

}
}
}

}

package cc.icoc.javaxu;

import java.io.IOException;
import java.util.Random;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class GuessActivity extends Activity {
/** Called when the activity is first created. */
Button btnOK,btnClean,btnGet;
EditText input;
TextView outputInfo;
MediaPlayer media;

String getStr;
int getNum = 10;
int answer;
int count = 0;
final String TAG = "XU";

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.guess);
new Thread(new MyRunnable()).start();
System.out.println("运行");
//使用随机数来给answer变量赋值
Random random = new Random();
answer = random.nextInt(100);

input = (EditText)this.findViewById(R.id.input);
outputInfo = (TextView)this.findViewById(R.id.info);

btnOK = (Button)this.findViewById(R.id.btnClick);
btnGet = (Button)this.findViewById(R.id.btnGet);
btnClean = (Button)this.findViewById(R.id.btnClean);
btnOK.setOnClickListener(new ButtonEvent());
btnGet.setOnClickListener(new ButtonEvent());
btnClean.setOnClickListener(new ButtonEvent());

System.out.println("运行1");

}

public void getNumber() {
Random random = new Random();
answer = random.nextInt(100);
}

class ButtonEvent implements OnClickListener
{
public void onClick(View v) {
getStr = input.getText().toString();
System.out.println("getStr==="+getStr);
System.out.println("文本框当前值"+input.getText());
System.out.println("文本框当前值"+input.getText().toString().length()+"值:"+Integer.parseInt(getStr));

// 点击猜一下按钮的事件
if(v.getId() == R.id.btnClick)
{
System.out.println("文本框当前值"+input.getText().toString().trim().length());
getNum = Integer.parseInt(getStr);
if(input.getText().toString() == null)
{
Toast.makeText(GuessActivity.this, "你还没有输入数字", Toast.LENGTH_SHORT).show();
}
else
{
if(answer == getNum)
{
outputInfo.setText("");
outputInfo.setText(R.string.right);
Toast.makeText(GuessActivity.this, "你总共猜了 "+count+" 次", Toast.LENGTH_SHORT).show();
getNumber();
}

else if(answer > getNum)
{
outputInfo.setText("");
outputInfo.setText(R.string.tooSmall);
}

else if(answer < getNum)
{
outputInfo.setText("");
outputInfo.setText(R.string.tooBig);
}
}
count++;
}

if(v.getId() == R.id.btnGet)
{
outputInfo.setText("");
outputInfo.setText("答案是: "+answer);
getNumber();
}

//清除按钮的事件
if(v.getId() == R.id.btnClean)
{
input.setText("");
System.out.println("Count= "+count);
}

if(count == 6)
{
outputInfo.setText("");
outputInfo.setText(R.string.bendan);
}

if(count == 10)
{
outputInfo.setText("");
outputInfo.setText(R.string.bendan2);
}
}

}

class MyRunnable implements Runnable
{
public void run() {
System.out.println("MyRunnable"+Thread.currentThread().getId()+Thread.currentThread().getName());
// TODO Auto-generated method stub
System.out.println("运行2");

sound();
}

private void sound() {
// TODO Auto-generated method stub
media = new MediaPlayer();
if (media != null)
{
media.stop();
}
media.reset();
media = MediaPlayer.create(GuessActivity.this,R.raw.guess);

try {
media.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
media.start();
}

}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-02-05

你程序里 for循环之外 已经输入了一次,所以for循环改成: for (int i = 1; i < 5;i++) 就行,

我修改了下你的代码:

import java.util.Random;
import java.util.Scanner;

public class test9 {
public static void main(String[] args) {
// 2、猜数游戏(产生1-100的随机数,5次没有猜中就退出,猜错了给予提示)
System.out.println("请输入你猜的数字:");
Scanner sc = new Scanner(System.in);
Random rand = new Random();
int n = rand.nextInt(101);
System.out.println(n);
int c = 0;
while (sc.hasNextInt()) {
if (sc.nextInt() == n) {
System.out.println("恭喜你猜对了!");
break;
} else {
c++;
System.out.println("不好意思你猜错了...");
if(c == 5){
System.out.println("Game Over");
break;
}
}
}
sc.close();
}
}

本回答被提问者采纳
第2个回答  2014-03-14
while循环条件改成i<5就成了,当i<=5的时候就会循环5次,再加上你前面还有一次输入,所以输错的情况下6次才会退出。追问

但是第五次输入时就没提示了

追答

第五次的时候for循环结束,但是for循环内部还有一句输入语句,所以还能接收一次输入,但是不能进行判断输错还是输对。

第3个回答  2014-03-14
for (int i = 1; i <=5;i++)

你把=去掉
成for (int i = 1; i <5;i++)就可以了

你前面已经输入了一次 又循环了5次 所以可以6次

java猜数游戏(产生1-100的随机数,5次没有猜中就退出,猜错了给予...
package cc.icoc.javaxu;import java.io.IOException;import java.util.Random;import android.app.Activity;import android.media.MediaPlayer;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import androi...

用Java编程实现一个猜数字的游戏:系统随机产生一个1~100的数字,然后让...
1.int num = (int)(Math.random()*100+1);\/\/随机得出一个1~100的数 2.用一个变量去接收玩家输入的数,例如int i;3.用if语句,当玩家输入的数与随机数相等时(i==num),则输出语句(恭喜你猜对了).4.用else写出猜错是的语句.大致思路就是这样.建议你自己去写,只有自己写过才会懂.如有不...

用JAVA语言编写一个“猜数字游戏”的程序
1. 生成一个1-100之间的随机数:```java int num = (int)(Math.random() * 100) + 1;```2. 创建一个`Scanner`对象来获取用户输入:```java Scanner sc = new Scanner(System.in);```3. 初始化用户猜测的数字为-1,并在一个循环中不断提示用户输入数字,直到猜测正确:```java int...

用JAVA语言编写一个“猜数字游戏”的程序
int num = (int)(Math.random()*100)+1;Scanner sc = new Scanner(System.in);int guessNum = -1;while (guessNum != num) { System.out.println("请输入1-100之间整数");guessNum = sc.nextInt();if (guessNum == num) { System.out.println("中啦");} elseif (guessNum < ...

谁来帮我做个java猜数字的游戏?
add(new Label("获取1-100之间的随机数:"));add(nuttonGetNumber);add(new Label("输入您的猜测:"));add(inputNumber);add(new Label("单击确定按钮:"));add(buttonEnter);add(new Label("反馈信息:"));add(feedBack);} public void actionPerformed(ActionEvent e){ if(e.getSource()==...

用java编写一个猜数游戏
private static int m = r.nextInt(100);public static void main(String[] args) { inPut();} private static void inPut() { String inPut = JOptionPane.showInputDialog("请输入数字:1:开始猜数 2:游戏参数设置 9:退出游戏");int a = Integer.parseInt(inPut);if(a!=1 && a!=2 ...

java猜数字小游戏。用eclipse写的
import java.util.Scanner;\/*** Java命令行版 猜数字游戏* @author kaifang*\/public class GuessNum {public static void main(String[] args) {System.out.println("===猜数字游戏===\\n");int answer = (int)(Math.random() * 200 + 1);Scanner sr = new Scanner(System.in);while(tr...

java编程 设计如下图所示的窗口,完成猜数小游戏的设计。
boxH1.add(new JLabel("获取1-100之间的随机数:"));boxH1.add(buttonGetNumber);Box boxH2 = Box.createHorizontalBox();boxH2.add(new JLabel("输入您的猜测:"));boxH2.add(inputNumber);Box boxH3 = Box.createHorizontalBox();boxH3.add(new JLabel("单击确定按钮:"));boxH3....

编写一个猜数的游戏程序。(数字由机器随机产生,限制为1~100之间的整数...
static void Main(string[] args){ string i = null;do { Console.Write("请输入一个整数(范围为1~100)\\n如果要退出,请输入0!否则输入1!");i = Console.ReadLine();if (i.Trim().Equals("0")){ return;} } while (!i.Trim().Equals("1"));start:Random ra = new Random()...

怎么使用java编程: 1、 随机产生一个1-100(小于100)内的整数,由用户通...
public class Hello{ public static int max = 0; static{ System.out.println("***猜数游戏***"); } public static void main(String[] args){ try{ new Hello(Hello.syso()); }catch(Exception e){ System.out.println("输入错误,请输入整数."); new...

相似回答