这个java程序怎么运行不了?
publicclassTest{publicstaticvoidmain(String[]args){inti=0;while(i<4){if(i==4)break;el...
public class Test
{
public static void main(String[] args)
{
int i=0;
while(i<4)
{
if(i==4)
break;
else
{
++i;
System.out.println(i);
}
}
}
} 展开
{
public static void main(String[] args)
{
int i=0;
while(i<4)
{
if(i==4)
break;
else
{
++i;
System.out.println(i);
}
}
}
} 展开
5个回答
展开全部
你的这个代码只是自定义了一个类,由于你这个代码里面没有main方法,不能直接运行,你可以在其他的地方写一个有main方法的类来调用这个Lucky52类。或者在这个源代码中加入main方法,但是需要改动。除此之外,代码还有几处问题我已经改好了,我用的是第二种调用方法在本程序中调用Lucky52类。还有你的类里还有包含一个图片,可是你的代码好像没有显示出来图片,我也没有看懂怎么回事。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.URL;//
public class TestLucky52{ //加入的main方法
public static void main(String[] args){//
new Lucky52();} //
} //
class Lucky52 extends Frame
implements ActionListener
{ Panel pnlNorth=new Panel();
MyImgPanel pnlCenter=new MyImgPanel();
Panel pnlButtom=new Panel();
TextField textfield=new TextField(10);
Label label=new Label("请输入您对商品的估价");
int truePrice=678;
public Lucky52()
{ super();
this.setLayout(new BorderLayout());
pnlNorth.add(label);
pnlNorth.add(textfield);
add(pnlNorth,BorderLayout.NORTH);
add(pnlCenter,BorderLayout.CENTER);
Button btnStart=new Button("开始");
Button btnOk=new Button("确定");
Button btnCancel=new Button("取消");
btnStart.setActionCommand("start");
btnStart.addActionListener(this);// btnStart.setActionListener(this);
btnOk.setActionCommand("Ok");
btnOk.addActionListener(this);
btnCancel.setActionCommand("cancel");
btnCancel.addActionListener(this);
pnlButtom.add(btnStart);
pnlButtom.add(btnOk);
pnlButtom.add(btnCancel);
add(pnlButtom,BorderLayout.SOUTH);
setBackground(Color.white);
addWindowListener(new WindowAdapter(){//加入关闭窗口
public void windowClosing(WindowEvent ee){
System.exit(0);
}
} );
setSize(400,400);//改变框架大小
setVisible(true);//可见
}
public void actionPerformed(ActionEvent evt)
{ if(evt.getActionCommand().equals("start"))
{ label.setText("请输入您对商品的估价");
pnlCenter.repaint();
}
else if(evt.getActionCommand().equals("Ok"))
{ int guessPrice=0;
try { guessPrice=Integer.parseInt(textfield.getText().trim());
String guess=comparePrice(guessPrice);
new MsgDlg(guess);
}
catch (Exception e)
{//e.PrintStackTrace();
}
}
else if(evt.getActionCommand().equals("cancel"))
{ textfield.setText("");
}
}
public String comparePrice(int guessPrice)
{ if(guessPrice==truePrice)
else if(guessPrice>truePrice)
else if(guessPrice<truePrice)
return "出错了!";
}
}
class MyImgPanel extends Panel
{ String fileName="lucky52.gif";//图片,放在同一个文件夹里
Image myImage;
public void initImg()
{ URL url=null;
try
catch(Exception e){}
myImage=getToolkit().getImage(url);
MediaTracker myTracker=new MediaTracker(this);
myTracker.addImage(myImage,1);
try{myTracker.wait();
myTracker.checkAll();
}
catch(Exception e){}
}
public void paint(Graphics g)
{ super.paint(g);
g.drawImage(myImage,135,30,55,75,this);}
}
class MsgDlg extends Frame implements ActionListener
{ Label label=new Label();
public MsgDlg(String strMsg)
{ super();
setTitle("猜测结果显示");
Panel myPanel=new Panel();
add(myPanel);
myPanel.add(label);
label.setText(strMsg);
setSize(150,100);
setLocation(300,200);
Button btnOk=new Button("确定");
btnOk.addActionListener(this);
myPanel.add(btnOk);
show();
}
public void actionPerformed(ActionEvent evt)
{ this.dispose();
}
}
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.URL;//
public class TestLucky52{ //加入的main方法
public static void main(String[] args){//
new Lucky52();} //
} //
class Lucky52 extends Frame
implements ActionListener
{ Panel pnlNorth=new Panel();
MyImgPanel pnlCenter=new MyImgPanel();
Panel pnlButtom=new Panel();
TextField textfield=new TextField(10);
Label label=new Label("请输入您对商品的估价");
int truePrice=678;
public Lucky52()
{ super();
this.setLayout(new BorderLayout());
pnlNorth.add(label);
pnlNorth.add(textfield);
add(pnlNorth,BorderLayout.NORTH);
add(pnlCenter,BorderLayout.CENTER);
Button btnStart=new Button("开始");
Button btnOk=new Button("确定");
Button btnCancel=new Button("取消");
btnStart.setActionCommand("start");
btnStart.addActionListener(this);// btnStart.setActionListener(this);
btnOk.setActionCommand("Ok");
btnOk.addActionListener(this);
btnCancel.setActionCommand("cancel");
btnCancel.addActionListener(this);
pnlButtom.add(btnStart);
pnlButtom.add(btnOk);
pnlButtom.add(btnCancel);
add(pnlButtom,BorderLayout.SOUTH);
setBackground(Color.white);
addWindowListener(new WindowAdapter(){//加入关闭窗口
public void windowClosing(WindowEvent ee){
System.exit(0);
}
} );
setSize(400,400);//改变框架大小
setVisible(true);//可见
}
public void actionPerformed(ActionEvent evt)
{ if(evt.getActionCommand().equals("start"))
{ label.setText("请输入您对商品的估价");
pnlCenter.repaint();
}
else if(evt.getActionCommand().equals("Ok"))
{ int guessPrice=0;
try { guessPrice=Integer.parseInt(textfield.getText().trim());
String guess=comparePrice(guessPrice);
new MsgDlg(guess);
}
catch (Exception e)
{//e.PrintStackTrace();
}
}
else if(evt.getActionCommand().equals("cancel"))
{ textfield.setText("");
}
}
public String comparePrice(int guessPrice)
{ if(guessPrice==truePrice)
else if(guessPrice>truePrice)
else if(guessPrice<truePrice)
return "出错了!";
}
}
class MyImgPanel extends Panel
{ String fileName="lucky52.gif";//图片,放在同一个文件夹里
Image myImage;
public void initImg()
{ URL url=null;
try
catch(Exception e){}
myImage=getToolkit().getImage(url);
MediaTracker myTracker=new MediaTracker(this);
myTracker.addImage(myImage,1);
try{myTracker.wait();
myTracker.checkAll();
}
catch(Exception e){}
}
public void paint(Graphics g)
{ super.paint(g);
g.drawImage(myImage,135,30,55,75,this);}
}
class MsgDlg extends Frame implements ActionListener
{ Label label=new Label();
public MsgDlg(String strMsg)
{ super();
setTitle("猜测结果显示");
Panel myPanel=new Panel();
add(myPanel);
myPanel.add(label);
label.setText(strMsg);
setSize(150,100);
setLocation(300,200);
Button btnOk=new Button("确定");
btnOk.addActionListener(this);
myPanel.add(btnOk);
show();
}
public void actionPerformed(ActionEvent evt)
{ this.dispose();
}
}
展开全部
应该是if(i==4)这里的问题。如果你用eclipse编辑这个代码,他应该会提示你有不能访问的代码。这个代码永远都不会被执行。因为你上面while里限制了只有i<4的时候,才会进入这个语句块。
我估计 这问题是在 考 do。。while 和 while 的区别吧
我估计 这问题是在 考 do。。while 和 while 的区别吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的JAVA的文件名是不是Test ,
如果不是,那你看看是不是环境变量配置错了。
如果不是,那你看看是不是环境变量配置错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序是没问题的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询