2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  《Java程序設(shè)計(jì)》課程期末作業(yè)</p><p>  題 目 學(xué)生成績管理系統(tǒng) </p><p>  學(xué) 院 信息科學(xué)與工程學(xué)院</p><p>  專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  班 別 </p><p>  學(xué)

2、 號 </p><p>  姓 名 </p><p>  2011年12月17日</p><p><b>  目錄</b></p><p><b>  一、課程題目:3</b></p><p>  二、

3、軟件的功能描述3</p><p>  三、系統(tǒng)的UML類圖4</p><p><b> ?。ㄒ唬┯脹r圖4</b></p><p>  (二)類之間的圖4</p><p> ?。ㄈ?shù)據(jù)流程圖6</p><p><b>  四、功能調(diào)試6</b></p>

4、<p><b>  五、具體代碼15</b></p><p><b>  一、課程題目:</b></p><p>  設(shè)計(jì)一個(gè)學(xué)生Java成績管理系統(tǒng)(可以不使用界面;如果使用,則界面使用AWT或SWING),要求:</p><p>  增添、刪除、修改學(xué)生基本信息(基本信息包含學(xué)生的學(xué)號、姓名、專業(yè)分?jǐn)?shù)等

5、信息);</p><p>  計(jì)算每門課的平均成績;</p><p>  統(tǒng)計(jì)優(yōu)秀、良好、中等、及格、不及格的人數(shù)百分比,并以柱狀圖、餅圖呈現(xiàn)【說明:可以使用SWING、AWT自己繪制;也可以使用開源類庫,如JFreeChar】</p><p>  按學(xué)號查詢學(xué)生及成績;</p><p><b>  按照成績分?jǐn)?shù)排序</b&g

6、t;</p><p><b>  二、軟件的功能描述</b></p><p>  能夠?qū)崿F(xiàn)學(xué)生信息的增刪改查四項(xiàng)基本的操作。此程序允許出現(xiàn)重名的現(xiàn)象出現(xiàn),另外在刪除的時(shí)候提供了刪除所有重名同學(xué)的信息和刪除指定學(xué)號的學(xué)生的兩種方法,更加貼近現(xiàn)實(shí)。</p><p>  能夠?qū)⒊绦蛑械臄?shù)據(jù)存儲到data.txt文件中,另外能在程序中通過Swing中的

7、table組件將文件中的內(nèi)容進(jìn)行打印出來。可以直觀的看到文件內(nèi)部的結(jié)果。</p><p>  此程序給出了“按照學(xué)號排序”“按照平均成績排序”“按照英語成績排序”“按照數(shù)學(xué)成績排序”“按照專業(yè)成績排序”等五個(gè)排序方法。</p><p>  此程序在查詢的同時(shí)又能同時(shí)顯示出三科成績的餅圖分布,餅圖上標(biāo)出了四個(gè)成績段的人數(shù)和百分比。更加方便直觀的體現(xiàn)出了單科的成績分布。</p>

8、<p>  程序有一個(gè)增加的功能。能夠?qū)⑺型瑢W(xué)的信息用三維柱狀圖的形式全部呈現(xiàn)出來,能夠進(jìn)行縱向、橫向兩種比較方式。方便人性化的進(jìn)行成績的比較。</p><p>  三、系統(tǒng)的UML類圖</p><p><b> ?。ㄒ唬┯脹r圖</b></p><p><b> ?。ǘ╊愔g的圖</b></p>

9、<p><b> ?、賡tudent類</b></p><p><b> ?、趕ort類</b></p><p><b> ?。ㄈ?shù)據(jù)流程圖</b></p><p><b>  四、功能調(diào)試</b></p><p><b>  1,

10、主界面</b></p><p><b>  2,新建學(xué)生信息</b></p><p><b>  3,查詢成績頁面</b></p><p><b>  4,修改成績</b></p><p><b>  5,刪除成績</b></p>

11、<p><b>  第二種方法</b></p><p><b>  打印文件內(nèi)容</b></p><p><b>  三科的排序</b></p><p><b>  平均成績排序:</b></p><p><b>  9,三科的餅圖分

12、布</b></p><p>  10,所有同學(xué)的成績?nèi)S柱狀圖分析</p><p><b>  五、具體代碼</b></p><p>  1,主界面代碼(Grade.java)</p><p>  public class Grade {</p><p><b>  // 定

13、義主框架</b></p><p>  private JFrame frame = new JFrame("學(xué)生成績管理系統(tǒng)");// 定義菜單欄</p><p>  private JMenuBar Bar = new JMenuBar();// 定義菜單</p><p>  private JMenu JMedit = new

14、 JMenu("編輯");</p><p>  private JMenu JMcount = new JMenu("統(tǒng)計(jì)");</p><p>  private JMenu JMhelp = new JMenu("數(shù)據(jù)");// 定義菜單項(xiàng)</p><p>  private JMenuItem JM

15、Icreate = new JMenuItem("新建");</p><p>  private JMenuItem JMImodify = new JMenuItem("修改");</p><p>  private JMenuItem JMIsearch = new JMenuItem("尋找");</p>&l

16、t;p>  private JMenuItem JMIdelete = new JMenuItem("刪除");</p><p>  private JMenuItem JMIall = new JMenuItem("成績排序");</p><p>  private JMenuItem JMIgraphics = new JMenuItem(

17、"圖形統(tǒng)計(jì)");</p><p>  private JMenuItem JMIhelp = new JMenuItem("文件信息");// 定義文本標(biāo)簽</p><p>  private JLabel text = new JLabel();</p><p>  private JLabel text1 = new JL

18、abel();</p><p>  private JLabel text2 = new JLabel();</p><p>  private JLabel text3 = new JLabel();</p><p>  private JLabel text4 = new JLabel();// 定義面板</p><p>  priva

19、te Container con = frame.getContentPane();// 定義輸入框?qū)ο?lt;/p><p>  // private StudentManager inputinfo =null;// 定義查詢框架對象</p><p>  private Search search = null;</p><p>  private Create

20、create = null;</p><p>  private Delete delete = null;</p><p>  private Modify modify = null;</p><p>  private Datasort sort = null;</p><p>  private BarCharts ss = null

21、;</p><p>  // 定義總分統(tǒng)計(jì)對象</p><p>  // private AllgradeCount all = null;</p><p>  // 定義個(gè)人統(tǒng)計(jì)對象</p><p>  // private SignalCount signal = null;</p><p><b>  

22、// 構(gòu)造函數(shù)</b></p><p>  public Grade() {</p><p>  // 把菜單欄加入框架</p><p>  frame.setJMenuBar(Bar);// 把菜單加入菜單欄</p><p>  Bar.add(JMedit);</p><p>  Bar.add(J

23、Mcount);</p><p>  Bar.add(JMhelp);// 把菜單項(xiàng)加入菜單</p><p>  JMedit.add(JMIcreate);</p><p>  JMedit.addSeparator();</p><p>  JMedit.add(JMIsearch);</p><p>  JM

24、edit.addSeparator();</p><p>  JMedit.add(JMImodify);</p><p>  JMedit.addSeparator();</p><p>  JMedit.add(JMIdelete);// 第一個(gè)下拉菜單</p><p>  JMcount.add(JMIall);</p>

25、<p>  JMcount.addSeparator();</p><p>  JMcount.add(JMIgraphics);// 第二個(gè)下拉</p><p>  JMhelp.add(JMIhelp);// 第三個(gè)// 設(shè)置文本界面</p><p>  text.setText("==============基于TXT文件的J

26、ava學(xué)生管理系統(tǒng)===========");</p><p>  text1.setText("1.增添、刪除、修改學(xué)生基本信息;并計(jì)算每門課的平均成績;");</p><p>  text2.setText("2.統(tǒng)計(jì)優(yōu)秀、良好、中等、及格、不及格的百分比,并以圖呈現(xiàn)");</p><p>  text3.set

27、Text("3.按學(xué)號查詢學(xué)生及成績,并按照不同的成績分?jǐn)?shù)排序。");</p><p>  text4.setText("===============制作者,計(jì)算機(jī)09-3,王繼重=============");// 設(shè)置歡迎界面</p><p>  con.setLayout(new FlowLayout(FlowLayout.LEFT, 0

28、, 10));</p><p>  con.add(text);</p><p>  con.add(text1);</p><p>  con.add(text2);</p><p>  con.add(text3);</p><p>  con.add(text4);// 設(shè)置框架</p><

29、;p>  frame.setLocation(200, 200);</p><p>  frame.setSize(400, 300);</p><p>  frame.setVisible(true);</p><p>  frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);// 增加監(jiān)聽器</p&g

30、t;<p>  JMIcreate.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent arg0) {// TODO 自動生成方法存根</p><p>  create = new Create();}</p><

31、p><b>  });</b></p><p>  JMIsearch.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent arg0) {</p><p>  search = new Search();

32、}});</p><p>  JMImodify.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent arg0) {modify = new Modify();}});</p><p>  JMIdelete.add

33、ActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent arg0) {</p><p>  delete = new Delete();</p><p><b>  }});</b></p><p>

34、;  JMIall.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent arg0) {</p><p>  sort = new Datasort();}});</p><p>  JMIgraphics.addActionLi

35、stener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent arg0) {</p><p>  ss= new BarCharts("成績分布柱狀圖");</p><p><b>  }});</b></p&g

36、t;<p>  JMIhelp.addActionListener(new ActionListener() {</p><p>  public void actionPerformed(ActionEvent arg0) {// TODO 自動生成方法存根</p><p>  // JOptionPane.showMessageDialog(null, "

37、;計(jì)算機(jī)09-3 王繼重");Outfile a = new Outfile();}});}</p><p>  public static void main(String[] args) </p><p>  {Grade a = new Grade();}</p><p><b>  2,新建用戶的代碼</b&

38、gt;</p><p>  public class Create extends JFrame {</p><p><b>  /**</b></p><p><b>  * 當(dāng)前容器</b></p><p><b>  */</b></p><p>

39、  Container currentContainer = this;</p><p><b>  /**</b></p><p><b>  * 存儲的文件名</b></p><p><b>  */</b></p><p>  String fileName = new

40、String("data.txt");</p><p><b>  /**</b></p><p><b>  * 顯示標(biāo)題文本</b></p><p><b>  */</b></p><p>  JLabel titleLabel = new JLabe

41、l("添加成績界面");</p><p><b>  /**</b></p><p><b>  * 標(biāo)題面板</b></p><p><b>  */</b></p><p>  JPanel titlePanel = new JPanel();</

42、p><p><b>  /**</b></p><p><b>  * 顯示姓名文本</b></p><p><b>  */</b></p><p>  JLabel nameLabel = new JLabel("學(xué)生姓名");</p><

43、;p><b>  /**</b></p><p><b>  * 顯示成績文本</b></p><p><b>  */</b></p><p>  JLabel scoreLabel = new JLabel("學(xué)生學(xué)號");</p><p>  J

44、Label score1Label = new JLabel("英語成績");</p><p>  JLabel score2Label = new JLabel("數(shù)學(xué)成績");</p><p>  JLabel score3Label = new JLabel("專業(yè)成績");</p><p><

45、b>  /**</b></p><p><b>  * 姓名文本框</b></p><p><b>  */</b></p><p>  JTextField nameTextField = new JTextField(15);</p><p><b>  /**<

46、;/b></p><p><b>  * 成績文本框</b></p><p><b>  */</b></p><p>  JTextField scoreTextField = new JTextField(15);</p><p>  JTextField score1TextField

47、= new JTextField(15);</p><p>  JTextField score2TextField = new JTextField(15);</p><p>  JTextField score3TextField = new JTextField(15);</p><p><b>  /**</b></p>

48、<p><b>  * 輸入面板</b></p><p><b>  */</b></p><p>  JPanel inputPanel = new JPanel();</p><p><b>  /**</b></p><p><b>  * 添加按鈕&

49、lt;/b></p><p><b>  */</b></p><p>  JButton insertBtn = new JButton("新建");</p><p><b>  /**</b></p><p><b>  * 管理面板</b><

50、;/p><p><b>  */</b></p><p>  JPanel managePanel = new JPanel();</p><p><b>  /**</b></p><p><b>  * 按鈕監(jiān)聽器</b></p><p><b&g

51、t;  */</b></p><p>  ButtonActionListener btnAction = new ButtonActionListener();</p><p><b>  /**</b></p><p>  * 構(gòu)造器:初始化窗體</p><p><b>  */</b&g

52、t;</p><p>  public Create() {</p><p>  this.setSize(280, 300);</p><p>  this.setLocation(300, 300);</p><p>  this.setResizable(false);</p><p>  this.setDef

53、aultCloseOperation(JFrame.DISPOSE_ON_CLOSE);</p><p>  this.setTitle("java學(xué)生成績管理系統(tǒng)");</p><p><b>  /*</b></p><p>  * 將窗體劃分為上中下三個(gè)塊</p><p><b>  

54、*/</b></p><p>  this.setLayout(new BorderLayout());</p><p>  this.add(titlePanel, "North");</p><p>  this.add(inputPanel, "Center");</p><p>  

55、this.add(managePanel, "South");</p><p><b>  /*</b></p><p>  * 第一塊用來放標(biāo)題面板 = =</p><p><b>  */</b></p><p>  titlePanel.setLayout(new Flow

56、Layout(FlowLayout.CENTER, 0, 10));</p><p>  titlePanel.add(titleLabel);</p><p>  titleLabel.setFont(new Font("黑體", Font.PLAIN, 16));</p><p><b>  /*</b></p&g

57、t;<p>  * 第二塊放輸入面板</p><p><b>  */</b></p><p>  inputPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 20, 10));</p><p>  inputPanel.add(nameLabel);// 姓名</p>

58、<p>  inputPanel.add(nameTextField);</p><p>  inputPanel.add(scoreLabel);// 成績</p><p>  inputPanel.add(scoreTextField);// ?????</p><p>  inputPanel.add(score1Label);// 成績1<

59、;/p><p>  inputPanel.add(score1TextField);// ?????</p><p>  inputPanel.add(score2Label);// 成績2</p><p>  inputPanel.add(score2TextField);// ?????</p><p>  inputPanel.add(sc

60、ore3Label);// 成績3</p><p>  inputPanel.add(score3TextField);// ?????</p><p><b>  /*</b></p><p>  * 第三塊是管理面板</p><p><b>  */</b></p><p&g

61、t;  managePanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 10));</p><p>  managePanel.add(insertBtn);</p><p><b>  /*</b></p><p>  * 為按鈕注冊按鈕監(jiān)聽器</p><p>&l

62、t;b>  */</b></p><p>  insertBtn.addActionListener(btnAction);</p><p><b>  /*</b></p><p><b>  * 顯示窗體</b></p><p><b>  */</b>&

63、lt;/p><p>  this.setVisible(true);}</p><p><b>  /**</b></p><p><b>  * 按鈕監(jiān)聽類</b></p><p><b>  */</b></p><p>  class ButtonA

64、ctionListener implements ActionListener {</p><p>  public void actionPerformed(ActionEvent e) {</p><p><b>  /*</b></p><p>  * 檢查是否輸入了姓名</p><p><b>  */

65、</b></p><p>  String name = nameTextField.getText().trim();</p><p>  if (name.length() == 0) {</p><p>  JOptionPane.showMessageDialog(currentContainer, "輸入的姓名為空!",&l

66、t;/p><p>  "操作失敗", JOptionPane.ERROR_MESSAGE);</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  /*</b></p><p&

67、gt;<b>  * 是否要求查詢</b></p><p><b>  */</b></p><p>  int score = 0;</p><p>  int score1 = 0;</p><p>  int score2 = 0;</p><p>  int scor

68、e3 = 0;</p><p><b>  /*</b></p><p>  * 檢查是否輸入了成績,輸入不同的成績</p><p><b>  */</b></p><p><b>  try {</b></p><p>  score = Integ

69、er.parseInt(scoreTextField.getText().trim());</p><p>  } catch (Exception e1) {</p><p>  JOptionPane.showMessageDialog(currentContainer, "輸入的成績不是數(shù)字!",</p><p>  "操作失敗&

70、quot;, JOptionPane.ERROR_MESSAGE);</p><p>  return;}</p><p><b>  try {</b></p><p>  score1 = Integer.parseInt(score1TextField.getText().trim());</p><p> 

71、 } catch (Exception e1) {</p><p>  JOptionPane.showMessageDialog(currentContainer, "輸入的成績不是數(shù)字!",</p><p>  "操作失敗", JOptionPane.ERROR_MESSAGE);</p><p>  return;

72、}</p><p><b>  try {</b></p><p>  score2 = Integer.parseInt(score2TextField.getText().trim());</p><p>  } catch (Exception e1) {</p><p>  JOptionPane.showMes

73、sageDialog(currentContainer, "輸入的成績不是數(shù)字!",</p><p>  "操作失敗", JOptionPane.ERROR_MESSAGE);</p><p><b>  return;</b></p><p><b>  }</b></p&g

74、t;<p><b>  try {</b></p><p>  score3 = Integer.parseInt(score3TextField.getText().trim());</p><p>  } catch (Exception e1) {</p><p>  JOptionPane.showMessageDialo

75、g(currentContainer, "輸入的成績不是數(shù)字!",</p><p>  "操作失敗", JOptionPane.ERROR_MESSAGE);</p><p><b>  return;</b></p><p><b>  }</b></p><p

76、><b>  /*</b></p><p><b>  * 是否要求錄入</b></p><p><b>  */</b></p><p>  if (e.getSource() == insertBtn) {</p><p>  boolean flag = inser

77、t(name, score, score1, score2, score3); // 執(zhí)行方法,進(jìn)行錄入操作</p><p>  if (flag) {</p><p>  JOptionPane.showMessageDialog(currentContainer, "錄入成功!");</p><p>  scoreTextField.setT

78、ext(""); // 清空成績框</p><p>  score1TextField.setText("");</p><p>  score2TextField.setText("");</p><p>  score3TextField.setText("");</p>

79、<p><b>  } else {</b></p><p>  JOptionPane.showMessageDialog(currentContainer,</p><p>  "錄入過程中出現(xiàn)了異常,請聯(lián)絡(luò)技術(shù)人員!", "錄入失敗",</p><p>  JOptionPane.ER

80、ROR_MESSAGE);</p><p><b>  }</b></p><p><b>  return;</b></p><p><b>  }}}</b></p><p><b>  /**</b></p><p>&

81、lt;b>  * 插入新記錄</b></p><p><b>  * </b></p><p>  * @param name</p><p>  * 姓名</p><p>  * @param score</p><p>  * 成績

82、</p><p><b>  */</b></p><p>  public boolean insert(String name, int score, int score1, int score2,</p><p>  int score3) {</p><p><b>  try {</b>&

83、lt;/p><p><b>  /*</b></p><p><b>  * 寫入文件</b></p><p><b>  */</b></p><p>  Writer out = new FileWriter(fileName, true);</p><p&

84、gt;  out.write(name + ":" + score + ":" + score1 + ":" + score2 + ":"</p><p>  + score3 + "\r\n");</p><p>  out.close();</p><p>  r

85、eturn true;</p><p>  } catch (IOException e) {</p><p>  e.printStackTrace();</p><p>  return false;</p><p><b>  }}</b></p><p><b>  /**&l

86、t;/b></p><p><b>  * 入口方法</b></p><p><b>  * </b></p><p>  * @param args</p><p>  public static void main(String[] args) {</p><p>

87、  new Create();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3,修改類</b></p><p>  public class Modify extends JFrame {</p>&

88、lt;p><b>  /**</b></p><p><b>  * 當(dāng)前容器</b></p><p><b>  */</b></p><p>  Container currentContainer = this;</p><p><b>  /**<

89、/b></p><p><b>  * 存儲的文件名</b></p><p><b>  */</b></p><p>  String fileName = new String("data.txt");</p><p><b>  /**</b>&

90、lt;/p><p><b>  * 顯示標(biāo)題文本</b></p><p><b>  */</b></p><p>  JLabel titleLabel = new JLabel("修改成績界面");</p><p><b>  /**</b></p&g

91、t;<p><b>  * 標(biāo)題面板</b></p><p><b>  */</b></p><p>  JPanel titlePanel = new JPanel();</p><p><b>  /**</b></p><p><b>  * 顯

92、示姓名文本</b></p><p><b>  */</b></p><p>  JLabel nameLabel = new JLabel("學(xué)生姓名");</p><p><b>  /**</b></p><p><b>  * 顯示成績文本</

93、b></p><p><b>  */</b></p><p>  JLabel scoreLabel = new JLabel("學(xué)生學(xué)號");</p><p>  JLabel score1Label = new JLabel("英語成績");</p><p>  JLa

94、bel score2Label = new JLabel("數(shù)學(xué)成績");</p><p>  JLabel score3Label = new JLabel("專業(yè)成績");</p><p><b>  /**</b></p><p><b>  * 姓名文本框</b></p

95、><p><b>  */</b></p><p>  JTextField nameTextField = new JTextField(15);</p><p><b>  /**</b></p><p><b>  * 成績文本框</b></p><p&g

96、t;<b>  */</b></p><p>  JTextField scoreTextField = new JTextField(15);</p><p>  JTextField score1TextField = new JTextField(15);</p><p>  JTextField score2TextField = ne

97、w JTextField(15);</p><p>  JTextField score3TextField = new JTextField(15);</p><p><b>  /**</b></p><p><b>  * 輸入面板</b></p><p><b>  */</

98、b></p><p>  JPanel inputPanel = new JPanel();</p><p><b>  /**</b></p><p><b>  * 修改按鈕</b></p><p><b>  */</b></p><p> 

99、 JButton modifyBtn = new JButton("修改");</p><p><b>  /**</b></p><p><b>  * 管理面板</b></p><p><b>  */</b></p><p>  JPanel mana

100、gePanel = new JPanel();</p><p><b>  /**</b></p><p><b>  * 按鈕監(jiān)聽器</b></p><p><b>  */</b></p><p>  ButtonActionListener btnAction = new

101、 ButtonActionListener();</p><p><b>  /**</b></p><p>  * 構(gòu)造器:初始化窗體</p><p><b>  */</b></p><p>  public Modify() {</p><p>  this.setSi

102、ze(280, 300);</p><p>  this.setLocation(300, 300);</p><p>  this.setResizable(false);</p><p>  this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);</p><p>  this.set

103、Title("java學(xué)生成績管理系統(tǒng)");</p><p><b>  /*</b></p><p>  * 將窗體劃分為上中下三個(gè)塊</p><p><b>  */</b></p><p>  this.setLayout(new BorderLayout());</

104、p><p>  this.add(titlePanel, "North");</p><p>  this.add(inputPanel, "Center");</p><p>  this.add(managePanel, "South");</p><p><b>  /*

105、</b></p><p>  * 第一塊用來放標(biāo)題面板 = =</p><p><b>  */</b></p><p>  titlePanel.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 10));</p><p>  titlePanel.add(tit

106、leLabel);</p><p>  titleLabel.setFont(new Font("黑體", Font.PLAIN, 16));</p><p><b>  /*</b></p><p>  * 第二塊放輸入面板</p><p><b>  */</b></p

107、><p>  inputPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 20, 10));</p><p>  inputPanel.add(nameLabel);// 姓名</p><p>  inputPanel.add(nameTextField);</p><p>  inputPane

108、l.add(scoreLabel);// 成績</p><p>  inputPanel.add(scoreTextField);// </p><p>  inputPanel.add(score1Label);// 成績1</p><p>  inputPanel.add(score1TextField);// inputPanel.add(score2La

109、bel);// 成績2</p><p>  inputPanel.add(score2TextField);// inputPanel.add(score3Label);// 成績3</p><p>  inputPanel.add(score3TextField);//* 第三塊是管理面板 */</p><p>  managePanel.setLayo

110、ut(new FlowLayout(FlowLayout.CENTER, 5, 10));</p><p>  managePanel.add(modifyBtn);</p><p><b>  /*</b></p><p>  * 為按鈕注冊按鈕監(jiān)聽器 */</p><p>  modifyBtn.addAction

111、Listener(btnAction);</p><p>  /* * 顯示窗體 */</p><p>  this.setVisible(true);}</p><p>  /** * 按鈕監(jiān)聽類 */</p><p>  class ButtonActionListener implements ActionListener

112、 {</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  /* * 檢查是否輸入了姓名 */</p><p>  String name = nameTextField.getText().trim();</p><p>  if (name.lengt

113、h() == 0) {</p><p>  JOptionPane.showMessageDialog(currentContainer, "輸入的姓名為空!",</p><p>  "操作失敗", JOptionPane.ERROR_MESSAGE);</p><p>  return;}</p><

114、;p>  /* * 是否要求查詢 */</p><p>  int score = 0;</p><p>  int score1 = 0;</p><p>  int score2 = 0;</p><p>  int score3 = 0;</p><p>  /* * 檢查是否輸入了成績,

115、輸入不同的成績 */</p><p><b>  try {</b></p><p>  score = Integer.parseInt(scoreTextField.getText().trim());</p><p>  } catch (Exception e1) {</p><p>  JOptionPa

116、ne.showMessageDialog(currentContainer, "輸入的成績不是數(shù)字!",</p><p>  "操作失敗", JOptionPane.ERROR_MESSAGE);</p><p>  return;}</p><p><b>  try {</b></p>

117、;<p>  score1 = Integer.parseInt(score1TextField.getText().trim());</p><p>  } catch (Exception e1) {</p><p>  JOptionPane.showMessageDialog(currentContainer, "輸入的成績不是數(shù)字!",</

118、p><p>  "操作失敗", JOptionPane.ERROR_MESSAGE);</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  try {</b></p><p&

119、gt;  score2 = Integer.parseInt(score2TextField.getText().trim());</p><p>  } catch (Exception e1) {</p><p>  JOptionPane.showMessageDialog(currentContainer, "輸入的成績不是數(shù)字!",</p>&l

120、t;p>  "操作失敗", JOptionPane.ERROR_MESSAGE);</p><p><b>  return;</b></p><p><b>  }try {</b></p><p>  score3 = Integer.parseInt(score3TextField.g

121、etText().trim());</p><p>  } catch (Exception e1) {</p><p>  JOptionPane.showMessageDialog(currentContainer, "輸入的成績不是數(shù)字!",</p><p>  "操作失敗", JOptionPane.ERROR_MES

122、SAGE);</p><p><b>  return;</b></p><p>  }/* * 是否要求錄入 */</p><p>  /* * 是否要求修改 */</p><p>  if (e.getSource() == modifyBtn) {</p><p>

123、;  int choose = JOptionPane.showConfirmDialog(currentContainer,</p><p>  "確定要修改該學(xué)生的成績嗎?", "確認(rèn)修改",</p><p>  JOptionPane.YES_NO_CANCEL_OPTION);</p><p>  if (choose

124、 == JOptionPane.YES_OPTION) {</p><p>  boolean flag = modify(name, score, score1, score2, score3); // 當(dāng)確定時(shí)修改所有名字為name的同學(xué)的成績?yōu)閟core</p><p>  if (flag) {</p><p>  JOptionPane.showMessa

125、geDialog(currentContainer, "已將修改",</p><p>  "修改成功!", JOptionPane.PLAIN_MESSAGE);</p><p><b>  } else {</b></p><p>  JOptionPane.showMessageDialog(curr

126、entContainer,</p><p>  "沒有該姓名的同學(xué)的成績記錄!", "修改失??!",</p><p>  JOptionPane.ERROR_MESSAGE);</p><p><b>  }</b></p><p><b>  }</b>&l

127、t;/p><p>  return;}}}</p><p>  public boolean modify(String name, int score, int score1, int score2,</p><p>  int score3) {</p><p>  try {/* * 先讀入所有學(xué)生成績信息, 把滿足

128、條件的記錄更新為新成績后,暫存到內(nèi)存中 其他記錄直接存儲 */</p><p>  BufferedReader in = new BufferedReader(new FileReader(fileName));</p><p>  String line = null, data = "";</p><p>  boolean flag

129、 = false;</p><p>  while ((line = in.readLine()) != null) {</p><p>  String[] info = line.split(":");</p><p>  if (info[0].equals(name)) {</p><p>  line = inf

130、o[0] + ":" + score + ":" + score1 + ":" + score2</p><p>  + ":" + score3;</p><p>  flag = true;</p><p><b>  }</b></p><

131、p>  data += line + "\r\n";</p><p>  }in.close();</p><p>  /* * 重新寫文件 */</p><p>  Writer out = new FileWriter(fileName);</p><p>  out.write(data);&

132、lt;/p><p>  out.close();</p><p>  return flag;</p><p>  } catch (IOException e) {e.printStackTrace();</p><p>  }return false;}</p><p><b>  入口方法<

133、;/b></p><p>  public static void main(String[] args) {</p><p>  new Modify();</p><p><b>  }}</b></p><p><b>  4,刪除類</b></p><p>  

134、public class Delete extends JFrame {</p><p>  Container currentContainer = this;</p><p>  String fileName = new String("data.txt");</p><p>  JLabel titleLabel = new JLabel

135、("刪除成績界面");</p><p>  JPanel titlePanel = new JPanel();</p><p>  JLabel nameLabel = new JLabel("學(xué)生姓名");</p><p>  JLabel scoreLabel = new JLabel("學(xué)生學(xué)號");

136、</p><p>  JLabel score1Label = new JLabel("英語成績");</p><p>  JLabel score2Label = new JLabel("數(shù)學(xué)成績");</p><p>  JLabel score3Label = new JLabel("專業(yè)成績");&

137、lt;/p><p>  JTextField nameTextField = new JTextField(15);</p><p>  JTextField scoreTextField = new JTextField(15);</p><p>  JTextField score1TextField = new JTextField(15);</p>

溫馨提示

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

評論

0/150

提交評論