java 问题,急

[复制链接]
查看11 | 回复3 | 2009-4-1 20:14:32 | 显示全部楼层 |阅读模式
import java.awt.*;

import java.awt.event.*;
import javax.swing.*;

public class S1 extends JApplet implements ActionListener {
final int WON = 0, LOST = 1, WON2 = 2;

boolean firstAnswer = true;
int a=0;
int b=0;
int gameStatus ;
JLabel inputLabel, printLabel;
JTextField inputField;
public void init()
{



Container container = getContentPane();

container.setLayout( new FlowLayout() );


inputLabel = new JLabel( "input one number" );

container.add( inputLabel );

inputField = new JTextField( 10 );

container.add( inputField );

printLabel= new JLabel("Guess a number between 1 and 2");

container.add(printLabel);

inputField.addActionListener( this );
}
public void actionPerformed( ActionEvent actionEvent )
{

b = Integer.parseInt( inputField.getText() );

inputField.setText( "" );



if ( firstAnswer ) {


int a = 1 + ( int ) ( Math.random() * 2 );
if (a==b)

gameStatus = WON;



else{

gameStatus = LOST;

}


}

else{

if (a==b){

gameStatus = WON2;



}

else{

gameStatus = LOST;

}

}

displayMessage();
}
public void displayMessage()
{


if (gameStatus == WON)

showStatus("Too high .Try again");

if (gameStatus == WON2){

showStatus("Congratulations.You guessed the number!");

firstAnswer=true;

return;}

if (gameStatus == LOST){

showStatus("Too low . Try again");

firstAnswer=false;

return;}


}
}
怎么每次我输入了一个数与随机产生的数不同时,如我输入1,随机产生2.就不能再继续运行的?就是以后不管输入什么数,都只能显示"Too low . Try again"这个的??帮忙帮忙!!谢谢!!
我就是想知道,为什么猜错之后,不能在重新运行一次!!

回复

使用道具 举报

千问 | 2009-4-1 20:14:32 | 显示全部楼层
你的那个程序问题很多我给你写了一个看一下吧import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Random;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class Guess imple...
回复

使用道具 举报

千问 | 2009-4-1 20:14:32 | 显示全部楼层
////猜数字游戏??//////////////////////// import java.util.*; public class Guesser { static Scanner san = new Scanner(System.in); static Random r = new Random(); private ...
回复

使用道具 举报

千问 | 2009-4-1 20:14:32 | 显示全部楼层
当然了关键是这里,int a = 1 + ( int ) ( Math.random() * 2 );random是产生0到1之间的double值,乘2去整加1后,a要么是1,要门是2,不可能和b的0相等的,所以gameStatus = LOST; 出现你的结果...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行