一个java小程序,要求 得到一个随机数 然后猜大小 这个代码怎么编都不对 帮忙改一下 谢谢

importjava.awt.*;importjava.awt.event.*;publicclassMyFrameextendsFrameimplementsActio... import java.awt.*;
import java.awt.event.*;

public class MyFrame extends Frame implements ActionListener {

int a;
Button b1 = new Button("得到一个随机数");
TextField tf1 = new TextField(10);
TextField tf2 = new TextField(10);
Button b2 = new Button("确定");
public MyFrame(String s ) {
super(s);
setLayout(new FlowLayout());
tf1.setBackground(Color.CYAN);

add(b1);
add(tf1);
add(tf2);
add(b2);

b1.addActionListener(this);
b2.addActionListener(this);

setSize(200,200);
setVisible(true);
validate();
}

public void actionPerformed(ActionEvent e)
{
//String s2 =tf2.getText();
int a2 =Integer.parseInt(tf2.getText());
if(e.getSource()==b1)
{
a =(int)((Math.random()*100)+1);
}
else {
if(e.getSource()==b2)
{
if(a>a2)
{
tf1.setText("猜小了");
}
else
{
if(a<a2)
{
tf1.setText("猜大了");
}
else
{
tf1.setText("猜对了");
}
}
}
}

}

}
我有主函数 可是有也不对
展开
 我来答
百度网友aadcd9c
2011-09-23 · 超过13用户采纳过TA的回答
知道答主
回答量:32
采纳率:100%
帮助的人:19.7万
展开全部
把int a2 =Integer.parseInt(tf2.getText());放到actionPerformed(ActionEvent e){}里边才对。
花浓花浅是正解。
你看看你的逻辑,只有判断了e.getSource()==b2之后,才有必要执行tf2.getText();你的程序当按下“得到一个随机数”时,就执行tf2.getText()了,没有必要,而且此时tf2中根本没有输入,所以抛出了java.lang.NumberFormatException.由于java默认初始化int值为0,所以此时a=0.你输入0时会看到显示“猜对了”。
一般框架都直接继承javax.swing.JFrame。
够详细吧。
terranlong
2011-09-23 · TA获得超过7294个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:4007万
展开全部
你改成我这样试试嘛,我都运行了,能才对数字
经过测试,可行
import java.awt.*;
import java.awt.event.*;

public class MyFrame extends Frame implements ActionListener {

int a;
Button b1 = new Button("得到一个随机数");
TextField tf1 = new TextField(10);
TextField tf2 = new TextField(10);
Button b2 = new Button("确定");
public MyFrame(String s ) {
super(s);
setLayout(new FlowLayout());
tf1.setBackground(Color.CYAN);

add(b1);
add(tf1);
add(tf2);
add(b2);

b1.addActionListener(this);
b2.addActionListener(this);

setSize(200,200);
setVisible(true);
validate();
}

public void actionPerformed(ActionEvent e)
{
//String s2 =tf2.getText();
int a2 =Integer.parseInt(tf2.getText());
if(e.getSource()==b1)
{
a =(int)((Math.random()*100)+1);
}
else {
if(e.getSource()==b2)
{
if(a>a2)
{
tf1.setText("猜小了");
}
else
{
if(a<a2)
{
tf1.setText("猜大了");
}
else
{
tf1.setText("猜对了");
}
}
}
}

}
public static void main(String arg[])
{
String s = null;
MyFrame myframe = new MyFrame(s);//实例化MyFrame
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花浓花浅
2011-09-23 · TA获得超过348个赞
知道答主
回答量:104
采纳率:0%
帮助的人:47.1万
展开全部
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
public class MyFrame extends Frame implements ActionListener {

private int a;
JFrame jf=new JFrame ("猜数");
Button b1 = new Button("得到一个随机数");
TextField tf1 = new TextField(10);
TextField tf2 = new TextField(10);
Button b2 = new Button("确定");
public MyFrame(){
jf.setLayout(new FlowLayout());
tf1.setBackground(Color.CYAN);

jf.add(b1);
jf.add(tf1);
jf.add(tf2);
jf.add(b2);

b1.addActionListener(this);
b2.addActionListener(this);

jf.setLocation(300, 200);//设置窗口出现位置
jf.setSize(300,200);//设置窗口大小
jf.setVisible(true);//设置可见
//要先加组件再设置可见,否则不起作用
jf.setResizable(false);//设置窗口大小不可变
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void actionPerformed(ActionEvent e){
if(e.getSource()==b1)
{
a =(int)((Math.random()*100)+1);
System.out.println("a的值为:"+a);//用于检测
}else if(e.getSource()==b2){
int a2 =Integer.parseInt(tf2.getText());
if(a>a2){
tf1.setText("猜小了");
}else if(a<a2){
tf1.setText("猜大了");
}else{
tf1.setText("猜对了");
}
}

}
public static void main(String[] args) {
new MyFrame();

}

}

你的代码缺少main函数,所以找不到public入口点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-23
展开全部
那就看你怎么想了,我给你几个建议,因为我没有时间帮你实现。
建议一:简单实现法:你把每种书名、价格、厂家都作为一个对象的属性分别存到不同的对象中,在主函数中首先用构造方法实例化这几个对象,然后再用你输入的字符串和每个对象的相应属性一一比对,符合条件则输出对应的厂家。
建议二:比较复杂实现法:信息全部保存到数据库,然后再用你输入的字符串和每条记录的相应字段一一比对,符合条件则输出对应的厂家。
如果你对我真诚的回答满意的话,请给我多加分,如果有什么疑问的话,请给我留言。QQ也可以全天在线108424683.

追问
你回答的是我的问题吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式