當前位置:編程學習大全網 - 編程語言 - 2021自學編程

2021自學編程

首先,構建壹個文本文件,比如在D盤的根目錄下,命名為int.txt,然後編寫壹個Java類CalcNumber.java。

****************************************************************

int.txt中的文本如下:

1?2?3?4?5?6?7?8?9?10

11?12?13?14?15?16?17?18?19?20

21?22?23?24?25?26?27?28?29?30

31?32?33?34?35?36?37?38?39?40

41?42?43?44?45?46?47?48?49?50

****************************************************************

CalcNumber.java的等級代碼如下:

進口?Java . awt . borderlayout;

進口?Java . awt . dimension;

進口?Java . awt . gridlayout;

進口?Java . awt . toolkit;

進口?Java . awt . event . action event;

進口?Java . awt . event . action listener;

進口?Java . io . buffered reader;

進口?Java . io . file not found exception;

進口?Java . io . filereader;

進口?Java . io . io exception;

進口?javax . swing . border factory;

進口?javax . swing . jbutton;

進口?javax . swing . jframe;

進口?javax . swing . jpanel;

進口?javax . swing . jscrollpane;

進口?javax . swing . jtextarea;

進口?javax . swing . ui manager;

公共?班級?CalcNumber?延伸?JFrame?{

JTextArea?在;

JTextArea?suText

JTextArea?heText

公共?CalcNumber()?{

This.setTitle("計算質數和合數");

//?輸入欄

在?=?新的?JTextArea(4,1);

in . setautoscrolls(true);

JScrollPane?題錄?=?新的?JScrollPane(in);

in . set border(border factory . createbevelborder(1));

JPanel?上位?=?新的?JPanel(新?BorderLayout());

upper . add(inscript oll);

//?按鈕

JButton?小鬼?=?新的?JButton("導入文本");

imp.addActionListener(新?ActionListener()?{

公共?作廢?actionPerformed(ActionEvent?e)?{

試試?{

BufferedReader?br?=?新的?BufferedReader(新?文件閱讀器(

" d:\ \ int . txt "));

字符串?s;

什麽時候?((s?=?br.readLine())?!=?null)?{

in.setText(in.getText()?+?" \n "?+?s);

}

br . close();

}?接住?(FileNotFoundException?e1)?{

e 1 . printstacktrace();

}?接住?(IOException?e2)?{

E2 . printstacktrace();

}

}

});

JButton?開始?=?新的?JButton("啟動兩個線程並計算");

start.addActionListener(新?CalcActionListener());

JPanel?buttonP?=?新的?JPanel();

buttonp . add(imp);

buttonP.add(開始);

//?結果

JPanel?結果?=?新的?JPanel(新?GridLayout(1,2));

JPanel?蘇帕內爾?=?新的?JPanel();

supanel . set border(border factory . createtitledorder("以下是質數"));

JPanel?hePanel?=?新的?JPanel();

he panel . set border(border factory . createtitledorder("以下為合數"));

result . add(suPanel);

result . add(hePanel);

suText?=?新的?JTextArea(4,25);

JScrollPane?蘇斯科爾?=?新的?JScrollPane(suText);

sutext . set border(border factory . createbevelborder(1));

heText?=?新的?JTextArea(4,25);

JScrollPane?赫斯科爾?=?新的?JScrollPane(heText);

hetext . set border(border factory . createbevelborder(1));

supanel . add(sus croll);

hepanel . add(he scroll);

//?總數

JPanel?全部?=?新的?JPanel(新?GridLayout(2,1,?2,?2));

all . set border(border factory . createtitledorder("計算質數和合數"));

all.add(上);

all.add(結果);

this.add(buttonP,?BorderLayout。南);

this.add(全部,?BorderLayout。中心);

//?this.setSize(400,?300);

this . pack();

工具包?工具?=?toolkit . getdefaulttoolkit();

維度?屏幕?=?tool . getscreensize();

this.setLocation(screen.width?/?2?-?this.getWidth()?/?2,?屏幕高度

/?2?-?this.getHeight()?/?2);

this . set visible(true);

this . setdefaultcloseoperation(JFrame。EXIT _ ON _ CLOSE);

}

班級?CalcActionListener?器物?ActionListener,可運行?{

公共?作廢?actionPerformed(ActionEvent?e)?{

線程?suThread?=?新的?線程(新?CalcActionListener(),?《蘇》);

線程?他讀了?=?新的?線程(新?CalcActionListener(),?“他”);

suthread . start();

he thread . start();

}

公共?作廢?run()?{

字符串?s?=?in . gettext();

String[]?arr?=?s . split(" \ \ s ");

StringBuffer?蘇?=?新的?string buffer();

StringBuffer?何?=?新的?string buffer();

為了什麽?(int?我?=?0;?我?& lt?數組長度;?i++)?{

布爾?旗幟?=?假的;

如果?(!arr[i]。等於(" ")?& amp& amp?arr[i]?!=?null)?{

int?n?=?integer . value of(arr[I]);

為了什麽?(int?j?=?2;?j?& lt?n;?j++)?{

如果?(n?%?j?==?0)?{

旗幟?=?真實;

}

}

如果?(Thread.currentThread()。getName()。等於(“蘇”)

& amp& amp?旗幟?==?假)?{

蘇?=?su.append("??+?n);

}

如果?(Thread.currentThread()。getName()。等於(“他”)

& amp& amp?旗幟?==?真)?{

何?=?he.append("??+?n);

}

}

}

如果?(Thread.currentThread()。getName()。equals("su "))?{

suText.setText(新?string(su));

}?不然呢?{

heText.setText(新?String(他));

}

}

}

公共?靜電?作廢?main(String[]?args)?摔投?例外?{

ui manager . setlookandfeel(ui manager . getsystemlookandfeelclassname());

CalcNumber?c?=?新的?calc number();

}

}

****************************************************************

運行結果如下:

  • 上一篇:在S7—200系列plc中如何註意雙線圈輸出問題?
  • 下一篇:我是從性格考慮選擇計算機語言編程這方面,可是我的英語不好,數學不好,邏輯思維不知道怎麽樣
  • copyright 2024編程學習大全網