自考JAVA語(yǔ)言程序設(shè)計(jì)一課后習(xí)題答案和源代碼九_(tái)第1頁(yè)
自考JAVA語(yǔ)言程序設(shè)計(jì)一課后習(xí)題答案和源代碼九_(tái)第2頁(yè)
自考JAVA語(yǔ)言程序設(shè)計(jì)一課后習(xí)題答案和源代碼九_(tái)第3頁(yè)
自考JAVA語(yǔ)言程序設(shè)計(jì)一課后習(xí)題答案和源代碼九_(tái)第4頁(yè)
自考JAVA語(yǔ)言程序設(shè)計(jì)一課后習(xí)題答案和源代碼九_(tái)第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精選資料

第九章

2.一個(gè)文本,一個(gè)按鈕。在文本區(qū)中輸入數(shù)據(jù),點(diǎn)擊按鈕,將文本內(nèi)容輸出到文

件。文件通過(guò)文件保存對(duì)話框制定。

程序運(yùn)行結(jié)果:

保存文件的源文件:SaveFile.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

/**

*9.2一個(gè)文本,一個(gè)按鈕。<BR>

*在文本區(qū)中輸入數(shù)據(jù),點(diǎn)擊按鈕,將文本內(nèi)容輸出到文件。<BR>

*文件通過(guò)文件保存對(duì)話框制定。<BR>

*@author黎明你好

*/

publicclassSaveFileextendsJFrameimplementsActionListener

{

privatestaticfinallongserialVersionUID=1L;//序列化時(shí)為了保持版本的兼容性

privateJFileChooserfileChooser;//文件選擇對(duì)話框

privateJPanelnorthPanel;//布局用的

privateJButtonsaveFileButton;//保存按鈕

privateJLabellabel;//用來(lái)顯示文件的絕對(duì)路徑

privateJTextAreatextArea;//文本框

可修改編輯

精選資料

publicSaveFile()

{

super("第九章,第二題-保存文件");

label=newJLabel("");

fileChooser=newJFileChooser();

northPanel=newJPanel();

saveFileButton=newJButton("保存到文件");

textArea=newJTextArea();

textArea.setLineWrap(true);

saveFileButton.addActionListener(this);

northPanel.add(saveFileButton);

this.add(northPanel,BorderLayout.NORTH);

this.add(newJScrollPane(textArea),BorderLayout.CENTER);

this.add(label,BorderLayout.SOUTH);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE

);

this.setBounds(50,50,500,500);

this.setVisible(true);

this.validate();

}

publicvoidactionPerformed(ActionEvente)//監(jiān)聽(tīng)器方法

{

if(e.getSource()==saveFileButton)

{

intmessage=fileChooser.showSaveDialog(this);

if(message==JFileChooser.APPROVE_OPTION

)

{

Filefile=fileChooser.getSelectedFile();

label.setText("保存到:"+file.getAbsolutePath());//在label上顯示這個(gè)文

件的絕對(duì)路徑

this.setTitle(file.getName());//設(shè)置JFrame的title為文件的名字

saveFile(file);

}

else

{

label.setText("沒(méi)有文件被選中");

}

}

}

可修改編輯

精選資料

/**

*把文本區(qū)上的內(nèi)容保存到指定文件上

*@paramf-保存到的文件對(duì)象

*/

publicvoidsaveFile(Filef)

{

try

{

FileWriterfile=newFileWriter(f);

BufferedWriterout=newBufferedWriter(file);

out.write(textArea.getText(),0,textArea.getText().length());

out.close();

}

catch(Exceptione)

{

label.setText("寫文件發(fā)生錯(cuò)誤");

}

}

publicstaticvoidmain(String[]args)

{

newSaveFile();

}

}

3.在一個(gè)文件中,每行存的是整數(shù),各行整數(shù)個(gè)數(shù)不等,要求讀這個(gè)文件,然后

計(jì)算每行整數(shù)的和,并存到另一個(gè)文件中。

程序運(yùn)行結(jié)果:

計(jì)算文件中的整數(shù)和源文件:FileIntegerSum.java

importjava.awt.*;

可修改編輯

精選資料

importjava.awt.event.*;

importjavax.swing.*;

importjava.io.*;

importjava.util.*;

/**

*9.3在一個(gè)文件中,每行存的是整數(shù),各行整數(shù)個(gè)數(shù)不等,<BR>

*要求讀如這個(gè)文件,然后計(jì)算每行整數(shù)的和,并存到另一個(gè)文件中。<BR>

*@author黎明你好

*

*/

publicclassFileIntegerSumextendsJFrameimplementsActionListener

{

privatestaticfinallongserialVersionUID=1L;

privateJButtonbuttonSave,buttonCount,buttonOpen;//按鈕:保存,計(jì)算,保存

privateJTextAreatextArea;//文本區(qū)

privateJLabellabel;//顯示當(dāng)前文件的絕對(duì)路徑的label

privateJFileChooserfiledialog;//文件選擇對(duì)話框

privateJPanelpanel;//布局用的panel

privateFilefile=null;//文件對(duì)象

publicFileIntegerSum()

{

super("第九章,第三題-整數(shù)求和");

buttonOpen=newJButton("打開(kāi)文件");

buttonSave=newJButton("保存到...");

buttonCount=newJButton("計(jì)算結(jié)果");

label=newJLabel("");

panel=newJPanel();

textArea=newJTextArea();

filedialog=newJFileChooser();

filedialog.addChoosableFileFilter(newMyFileFilter("txt"));

buttonOpen.addActionListener(this);

buttonSave.addActionListener(this);

buttonCount.addActionListener(this);//給按鈕加監(jiān)控

panel.add(buttonOpen);

panel.add(buttonCount);

panel.add(buttonSave);//把按鈕添加到panel面板上

this.add(panel,BorderLayout.NORTH);

this.add(newJScrollPane(textArea),BorderLayout.CENTER);

this.add(label,BorderLayout.SOUTH);

可修改編輯

精選資料

this.setBounds(50,50,500,300);

this.validate();

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE

);

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==buttonOpen)

{

filedialog.setDialogTitle("打開(kāi)");

intresult=filedialog.showOpenDialog(this);

if(result==JFileChooser.APPROVE_OPTION

)

{

file=filedialog.getSelectedFile();

label.setText(""+file.getAbsolutePath());

readFiletoText(file);

}

elseif(result==JFileChooser.CANCEL_OPTION

)

label.setText("你沒(méi)有選擇任何文件\n");

}

if(e.getSource()==buttonSave)

{

filedialog.setDialogTitle("另存為");

intresult=filedialog.showSaveDialog(this);

if(result==JFileChooser.APPROVE_OPTION

)

{

file=filedialog.getSelectedFile();

label.setText(""+file.getAbsolutePath());

saveAsText(file);

}

elseif(result==JFileChooser.CANCEL_OPTION

)

{

label.setText("你沒(méi)有選擇任何文件\n");

}

}

if(e.getSource()==buttonCount)

{

textArea.setText(null);

可修改編輯

精選資料

if(this.file!=null)

countResult(file);

}

}

/**

*將指定的文件顯示在文本區(qū)上

*@paramfile-指定的文件

*/

publicvoidreadFiletoText(Filefile)

{

try

{

FileReaderfile_reader=newFileReader(file);

BufferedReaderin=newBufferedReader(file_reader);

Stringss=newString();

while((ss=in.readLine())!=null)

{

textArea.append(ss+'\n');

}

in.close();

}

catch(FileNotFoundExceptione2)

{

label.setText("文件沒(méi)有找到\n");

}

catch(IOExceptione3)

{

e3.printStackTrace();

}

textArea.setCaretPosition(0);

}

/**

*將文本區(qū)內(nèi)容保存到指定文件

*@paramfile-指定的文件

*/

publicvoidsaveAsText(Filefile)

{

可修改編輯

精選資料

try

{

FileWriterfile_writer=newFileWriter(file);

BufferedWriterout=newBufferedWriter(file_writer);

out.write(textArea.getText(),0,(textArea.getText().length()));

out.flush();

out.close();

}

catch(FileNotFoundExceptione2)

{

label.setText("文件沒(méi)有找到\n");

}

catch(IOExceptione3)

{

}

}

/**

*計(jì)算指定文件上,每行整數(shù)之和,并顯示在文本區(qū)上

*@paramfile-指定的文件

*/

publicvoidcountResult(Filefile)

{

try

{

FileReaderfile_reader=newFileReader(file);

BufferedReaderin=newBufferedReader(file_reader);

Stringtemp=newString();

while((temp=in.readLine())!=null)

{

intnumber=0;

StringTokenizertoken=newStringTokenizer(temp,",.");

while(token.hasMoreTokens())

{

number+=Integer.parseInt(token.nextToken());

}

textArea.append(temp+"---------相加結(jié)果是:"+number+'\n');

}

in.close();

可修改編輯

精選資料

}

catch(Exceptione2)

{

label.setText("error"+e2+'\n');

}

}

publicstaticvoidmain(Stringargs[])

{

newFileIntegerSum();

}

}

4.在一個(gè)文本區(qū)中輸入數(shù)據(jù),把輸入的數(shù)據(jù)分析成各個(gè)單詞,然后排序顯示到第

二個(gè)文本區(qū)中,并通過(guò)文件保存對(duì)話框保存到文件中。

程序運(yùn)行結(jié)果:

源文件:SortString.java

importjava.awt.*;

importjava.awt.event.*;

importjava.util.*;

importjavax.swing.*;

importjavax.swing.event.*;

importjava.io.*;

/**

*9.4在一個(gè)文本區(qū)中輸入數(shù)據(jù),把輸入的數(shù)據(jù)分析成各個(gè)單詞,<BR>

*然后排序顯示到第二個(gè)文本區(qū)中,并通過(guò)文件保存對(duì)話框保存到文件中.<BR>

*@author黎明你好

*/

可修改編輯

精選資料

publicclassSortStringextendsJFrameimplementsCaretListener,ActionListener

{

privatestaticfinallongserialVersionUID=1L;

privateJTextAreainput_text;//用于輸入的文本區(qū)

privateJTextAreashowResult_text2;//顯示排序后的文本區(qū)

privateJButtonclear_button,save_button;//按鈕:清空,保存

privateJFileChooserfiledialog;//文件選擇對(duì)話框

privateJLabellabel;

privateJPanelpanel1,panel2;

publicSortString()

{

super("第九章,第四題-排序");

filedialog=newJFileChooser();

input_text=newJTextArea("",15,30);

showResult_text2=newJTextArea("",15,30);

clear_button=newJButton("清空");

save_button=newJButton("保存到...");

panel1=newJPanel();

panel2=newJPanel();

label=newJLabel("");

input_text.setLineWrap(true);

showResult_text2.setEditable(false);

input_text.addCaretListener(this);

clear_button.addActionListener(this);

save_button.addActionListener(this);

panel1.add(clear_button);

panel1.add(save_button);

panel2.add(newJScrollPane(input_text));

panel2.add(newJScrollPane(showResult_text2));

this.add(panel1,BorderLayout.NORTH);

this.add(panel2,BorderLayout.CENTER);

this.add(label,BorderLayout.SOUTH);

this.setBounds(20,20,700,400);

this.validate();

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE

);

}

publicvoidcaretUpdate(CaretEvente)

可修改編輯

精選資料

{

Stringstring=input_text.getText();

StringTokenizerfenxi=newStringTokenizer(string,"();:.,.,'\n''\t'");

intn=fenxi.countTokens();

StringarrayStr[]=newString[n];

for(inti=0;i<n;i++)

{

Stringtemp=fenxi.nextToken();

arrayStr[i]=temp;

}

Arrays.sort(arrayStr);//排序

showResult_text2.setText(null);

for(inti=0;i<arrayStr.length;i++)

{

showResult_text2.append(arrayStr[i]+"\n");

}

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==clear_button)

{

input_text.setText(null);

}

if(e.getSource()==save_button)

{

filedialog.setDialogTitle("另存為");

intresult=filedialog.showSaveDialog(this);

if(result==JFileChooser.APPROVE_OPTION

)

{

Filefile=filedialog.getSelectedFile();

label.setText(""+file.getAbsolutePath());

saveAsText(file);

}

}

}

/**

*把文本區(qū)上的內(nèi)容保存到指定文件上

*@paramf-保存到的文件對(duì)象

可修改編輯

精選資料

*/

publicvoidsaveAsText(Filefile)

{

try

{

FileWriterfile_writer=newFileWriter(file);

BufferedWriterout=newBufferedWriter(file_writer);

out.write(showResult_text2.getText(),0,(showResult_text2.getText().length()));

out.flush();

out.close();

}

catch(FileNotFoundExceptione2)

{

label.setText("文件沒(méi)有找到");

}

catch(IOExceptione3)

{

e3.printStackTrace();

}

}

publicstaticvoidmain(Stringargs[])

{

newSortString();

}

}

5.在一個(gè)文本區(qū)中輸入數(shù)據(jù),將文本區(qū)中的數(shù)據(jù)存入文件中,在又用戶指定的序

號(hào),程序從文件中讀取對(duì)應(yīng)序號(hào)數(shù)據(jù),輸出到文本框中。

程序運(yùn)行結(jié)果:

可修改編輯

精選資料

源文件:Work9_5.java

importjava.awt.BorderLayout;

importjava.awt.event.*;

importjava.io.*;

importjavax.swing.*;

/**

*9.5在一個(gè)文本區(qū)中輸入數(shù)據(jù),將文本區(qū)中的數(shù)據(jù)存入文件中<BR>

*在又用戶指定的序號(hào),程序從文件中讀取對(duì)應(yīng)序號(hào)數(shù)據(jù),輸出到文本框中。<BR>

*@author黎明你好

*/

publicclassWork9_5extendsJFrameimplementsActionListener,ItemListener

{

privatestaticfinallongserialVersionUID=1L;

privateJButtonbuttonSave;//保存文件

privateJComboBoxcombo;//組合框,用來(lái)選擇指定序號(hào)

privateJTextAreainput_textArea;//文本區(qū),輸入數(shù)據(jù)

privateJTextFieldshow_textField;//顯示數(shù)據(jù)的文本框

privateJFileChooserfiledialog;//文件選擇對(duì)話框

privateJLabellabel;//顯示當(dāng)前文件的絕對(duì)路徑

privateJPanelpanel;

privateStringstringArray[]=newString[100];

privateFilefile;

publicWork9_5()

{

super("第九章,第五題");

buttonSave=newJButton("保存到文件");

combo=newJComboBox();

panel=newJPanel();

可修改編輯

精選資料

label=newJLabel("");

input_textArea=newJTextArea();

show_textField=newJTextField(30);

filedialog=newJFileChooser();

input_textArea.setLineWrap(true);

buttonSave.addActionListener(this);

combo.addItemListener(this);

panel.add(buttonSave);

panel.add(combo);

panel.add(show_textField);//把按鈕,check添加到panel面板上

this.add(panel,BorderLayout.NORTH);

this.add(newJScrollPane(input_textArea),BorderLayout.CENTER);

this.add(label,BorderLayout.SOUTH);

this.setBounds(50,50,600,300);

this.validate();

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE

);

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==buttonSave)

{

filedialog.setDialogTitle("另存為");

intresult=filedialog.showSaveDialog(this);

if(result==JFileChooser.APPROVE_OPTION

)

{

file=filedialog.getSelectedFile();

label.setText(""+file.getAbsolutePath());

saveAsText(file);

}

elseif(result==JFileChooser.CANCEL_OPTION

)

{

label.setText("你沒(méi)有選擇任何文件");

}

}

}

publicvoiditemStateChanged(ItemEvente)

{

可修改編輯

精選資料

inti=combo.getSelectedIndex();

show_textField.setText(stringArray[i]);

System.out.println(""+i);

}

/**

*把文本區(qū)上的內(nèi)容保存到指定文件上

*@paramf-保存到的文件對(duì)象

*/

publicvoidsaveAsText(Filefile)

{

try

{

FileWriterfile_writer=newFileWriter(file);

BufferedWriterout=newBufferedWriter(file_writer);

out.write(input_textArea.getText(),0,(input_textArea.getText().length()));

out.flush();

out.close();

readFile(file);

}

catch(FileNotFoundExceptione)

{

label.setText("文件沒(méi)有找到");

}

catch(IOExceptione)

{

e.printStackTrace();

}

}

/**

*按行讀取文件,并保存,

*@paramfile-指定的文件

*/

publicvoidreadFile(Filefile)

{

try

{

FileReaderfile_reader=newFileReader(file);

BufferedReaderin=newBufferedReader(file_reader);

可修改編輯

精選資料

Stringss=newString();

inti=0;

while((ss=in.readLine())!=null)

{

combo.addItem("第"+(i+1)+"行");

stringArray[i]=ss;

i++;

}

show_textField.setText(stringArray[0]);

in.close();

}

catch(FileNotFoundExceptione)

{

label.setText("文件沒(méi)有找到");

}

catch(IOExceptione)

{

e.printStackTrace();

}

}

publicstaticvoidmain(Stringargs[])

{

newWork9_5();

}

}

6.一個(gè)文本區(qū),一個(gè)按鈕,點(diǎn)擊按鈕選擇文件,然后又把文件中的內(nèi)容輸入到文

本區(qū)中。

程序運(yùn)行結(jié)果:

可修改編輯

精選資料

打開(kāi)文件原文件:OpenAndShowFile.java

importjava.awt.BorderLayout;

importjava.awt.event.*;

importjava.io.*;

importjavax.swing.*;

/**

*9.6一個(gè)文本區(qū),

一個(gè)按鈕,

點(diǎn)擊按鈕選擇文件,

然后又把文件中的內(nèi)容輸入到文本區(qū)中。

<BR>

*@author黎明你好

*/

publicclassOpenAndShowFileextendsJFrameimplementsActionListener

{

privatestaticfinallongserialVersionUID=1L;//序列化時(shí)為了保持版本的兼容性

privateJFileChooserfileChooser;//文件選擇對(duì)話框

privateJPanelnorthPanel;//用于布局的panel

privateJButtonopenFileButton;//打開(kāi)文件的按鈕

privateJLabellabel;//用來(lái)顯示文件絕對(duì)路徑

privateJTextAreatextArea;//文本區(qū),來(lái)顯示文件內(nèi)容

privateFilefile=null;

publicOpenAndShowFile()

{

super("打開(kāi)并顯示文件");

label=newJLabel();

fileChooser=newJFileChooser();

northPanel=newJPanel();

openFileButton=newJButton("打開(kāi)文件");

textArea=newJTextArea();

openFileButton.addActionListener(this);

northPanel.add(openFileButton);

//添加文件篩選,擴(kuò)展內(nèi)容,請(qǐng)保證MyFileFilter類的存在

fileChooser.addChoosableFileFilter(newMyFileFilter("java"));

fileChooser.addChoosableFileFilter(newMyFileFilter("txt"));

this.add(northPanel,BorderLayout.NORTH);

this.add(newJScrollPane(textArea),BorderLayout.CENTER);

this.add(label,BorderLayout.SOUTH);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE

);

this.setBounds(50,50,500,500);

可修改編輯

精選資料

this.setVisible(true);

this.validate();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==openFileButton)

{

intmessage=fileChooser.showOpenDialog(thi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論