你的錯誤貼的完全沒法看,我把你的代碼復(fù)制過來運行了下,錯誤信息應(yīng)該復(fù)制這些:
我們一直強調(diào)成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)的建站公司不一定是大公司,創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at testquestion.Ran$1.actionPerformed(Ran.java:41)
很明顯是空指針錯誤
再看41行:
if(bool[number] == true){
就是說bool[number]這時的值是null
我看了下前面的定義:
private static Boolean[] bool;
然后在后面定義了
bool=new Boolean[52];
需要注意的是boolean和Boolean的區(qū)別,boolean是基本類型,不需要去new創(chuàng)建,而Boolean雖然用法基本一樣,但他是個對象,你光創(chuàng)建了一個Boolean對象數(shù)組但沒有一一去創(chuàng)建對象,所以bool[number]取得的仍然是null
還需要進(jìn)行的一步是
for(int i=0;ibool.length;i++){
bool[i]=false;
}
對于你代碼里的
if(bool[number] == true){
value = number;
bool[number] = true;
}
比較費解如果bool[number]==true已經(jīng)成立再bool[number]=true實在有些多此一舉,可能你想寫的是false,我先自作主張幫你改成這個了.
修改完后再運行,成功!
將 deliverCard();//發(fā)牌
repaint();
修改為
new Thread()
{
public void run()
{
deliverCard();//發(fā)牌
repaint();
}
}
.start();
不過你的dowhile是個死循環(huán) 癥結(jié)在這里
幫你運行:
F:\oopjavac?Test05.java
F:\oopjava?Test05
Exception?in?thread?"main"?java.lang.NullPointerException
at?java.awt.Container.addImpl(Container.java:1090)
at?java.awt.Container.add(Container.java:410)
at?Test05.init(Test05.java:23)
at?Test05.main(Test05.java:34)
錯誤在line:23行,注釋掉后:
this.setLayout(new?GridLayout(3,1));
mb1.add(bq1);mb1.add(wbk);
mb2.add(bq2);mb2.add(mmk);
//mb3.add(an1);mb3.add(an2);
this.add(mb1);
this.getContentPane().add(mb2);
//this.getContentPane().add(mb3);
this.setTitle("登陸窗體");
然后就發(fā)現(xiàn)對了,界面出來了。然后看23行:
mb3.add(an1);??mb3.add(an2);
換行后執(zhí)行,返現(xiàn)錯的是24行:
mb3.add(an1);
mb3.add(an2);
仔細(xì)一看,親,你的an2有沒有初始化啊!!!!
an1=new?JButton("登陸");
an1=new?JButton("退出");
看看上面的代碼。。。。。。。。。。我能咋樣。好好的練習(xí)吧,還是要多寫代碼,多改錯。
執(zhí)行如下代碼后報錯信息是:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 6
at SortArray.main(SortArray.java:21)
package?shiyan3;
import?java.io.IOException;
public?class?SortArray?{
public?static?void?main(String[]?args)?throws?IOException?{
//?TODO?Auto-generated?method?stub
int?m;
//?TODO?Auto-generated?method?stub
int?n;
//?TODO?Auto-generated?method?stub
int?k;
int[]?aa?=?new?int[6];
int[]?bb?=?new?int[6];
int[]?cc?=?new?int[12];
for?(int?i?=?0;?i?=?6;?i++)?{
m?=?(int)?(100?*?Math.random());
aa[i]?=?m;
n?=?(int)?(100?*?Math.random());
bb[i]?=?n;
System.out.println(aa[i]?+?"?"?+?bb[i]);
}
for?(int?i?=?0;?i??6;?i++)?{
for?(int?j?=?i;?j??6;?j++)?{
if?(aa[i]??aa[j])?{
int?t?=?aa[i];
aa[i]?=?aa[j];
aa[j]?=?t;
}
if?(bb[i]??bb[j])?{
int?t?=?bb[i];
bb[i]?=?bb[j];
bb[j]?=?t;
}
}
}
m?=?0;
n?=?0;
k?=?0;
while?((m?==?6)??(n?==?6))?{
if?(aa[m]?=?bb[n])?{
cc[k]?=?aa[m];
m++;
}?else?{
cc[k]?=?bb[n];
n++;
}
k++;
}
while?(m?==?6)?{
cc[k]?=?aa[m];
m++;
k++;
}
while?(n?==?6)?{
cc[k]?=?bb[n];
n++;
k++;
}
for?(int?i?=?0;?i??12;?i++)?{
System.out.print(cc[i]?+?"?");
}
}
}
第21行是從0到6,也就是7次循環(huán),應(yīng)該把=6改為6。
F:\oopjavac Test05.java
F:\oopjava Test05
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1090)
at java.awt.Container.add(Container.java:410)
at Test05.init(Test05.java:23)
at Test05.main(Test05.java:34)
錯誤在line:23行,注釋掉后:
this.setLayout(new GridLayout(3,1));
mb1.add(bq1);mb1.add(wbk);
mb2.add(bq2);mb2.add(mmk);
//mb3.add(an1);mb3.add(an2);
this.add(mb1);
this.getContentPane().add(mb2);
//this.getContentPane().add(mb3);
this.setTitle("登陸窗體");
然后就發(fā)現(xiàn)對了,界面出來了。然后看23行:
mb3.add(an1); mb3.add(an2);
換行后執(zhí)行,返現(xiàn)錯的是24行:
mb3.add(an1);
mb3.add(an2);
仔細(xì)一看,親,你的an2有沒有初始化啊!!!!
an1=new JButton("登陸");
an1=new JButton("退出");
看看上面的代碼。。。。。。。。。。我能咋樣。好好的練習(xí)吧,還是要多寫代碼,多改錯。
分類: 電腦/網(wǎng)絡(luò) 程序設(shè)計 其他編程語言
問題描述:
本程序要實現(xiàn)的是隨著鼠標(biāo)點擊,將在畫布上話小方塊。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.awt.geom.*;
import javax.swing.*;
public class MouseTest
{
public static void main(String[] args)
{
MouseFrame frame=new MouseFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class MouseFrame extends JFrame
{
public MouseFrame()
{
setTitle("MouseTest");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
MousePanel panel=new MousePanel();
Container contentPane=getContentPane();
contentPane.add(panel);
}
public static final int DEFAULT_WIDTH=300;
public static final int DEFAULT_HEIGHT=200;
}
class MousePanel extends JPanel
{
public MousePanel()
{
squares=new ArrayList();
current=null;
addMouseListener(new MouseHandler());
addMouseMotionListener(new MouseMotionHandler());
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2=(Graphics2D)g;
g2.setPaint(Color.RED);
for(int i=0;isquares.size();i++)
g2.draw((Rectangle2D)squares.get(i));
}
public Rectangle2D find(Point2D p)
{
for(int i=0;isquares.size();i++)
{
Rectangle2D r=(Rectangle2D)squares.get(i);
if(r.contains(p)) return r;
}
return null;
}
public void add(Point2D p)
{
double x=p.getX();
double y=p.getY();
current=new Rectangle2D.Double(x-SIDELENGTH/2,y-SIDELENGTH/2,SIDELENGTH,SIDELENGTH);
squares.add(current);
repaint();
}
public void remove(Rectangle2D s)
{
if(s==null)return;
if(s==current) current=null;
squares.remove(s);
repaint();
}
private static final int SIDELENGTH=10;
private ArrayList squares;
private Rectangle2D current;
private class MouseHandler extends MouseAdapter
{
public void mouseHandler(MouseEvent event)
{
current=find(event.getPoint());
if(current==null)
add(event.getPoint());
}
public void mouseClicked(MouseEvent event)
{
current=find(event.getPoint());
if(current==nullevent.getClickCount()=2)
remove(current);
}
}
private class MouseMotionHandler implements MouseMotionListener
{
public void mouseMoved(MouseEvent event)
{
if(find(event.getPoint())==null)
setCursor(Cursor.getDefaultCursor());
else
setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
}
public void mouseDragged(MouseEvent event)
{
if (current!=null)
{
int x=event.getX();
int y=event.getY();
current.setFrame(x-SIDELENGTH/2,y-SIDELENGTH/2,SIDELENGTH,SIDELENGTH);
repaint();
}
}
}
}
解析:
這地方是改錯的,不是給你實現(xiàn)功能的,哈哈
新聞名稱:改錯java代碼 java修改代碼
網(wǎng)站URL:http://jinyejixie.com/article40/dochoeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、標(biāo)簽優(yōu)化、全網(wǎng)營銷推廣、搜索引擎優(yōu)化、企業(yè)網(wǎng)站制作、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)