201771010102 常惠琢 2018面向对象程序设计(JAVA)第18周学习总结

实验十八  总复习

实验时间 2018-12-30

1、实验目的与要求

(1) 综合掌握java基本程序结构;

(2) 综合掌握java面向对象程序设计特点;

(3) 综合掌握java GUI 程序设计结构;

(4) 综合掌握java多线程编程模型;

(5) 综合编程练习。

2、实验内容和步骤

任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx。

任务2:综合编程练习

练习1:设计一个用户信息采集程序,要求如下:

(1) 用户信息输入界面如下图所示:

(1)用户点击提交按钮时,用户输入信息显示控制台界面;

(2)用户点击重置按钮后,清空用户已输入信息;

(3)点击窗口关闭,程序退出。

 1 package 图形用户界面;
 2
 3 import java.awt.EventQueue;
 4
 5 import javax.swing.JFrame;
 6
 7 public class Gui {
 8
 9        public static void main(String[] args)
10        {
11           EventQueue.invokeLater(() -> {
12              JFrame frame = new FrameTest();
13              frame.setTitle(" 常惠琢");
14              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
15              frame.setVisible(true);
16           });
17        }
18     }

Gui

  1 package 图形用户界面;
  2
  3 import java.awt.*;
  4 import java.awt.event.ActionEvent;
  5 import java.awt.event.ActionListener;
  6 import java.util.*;
  7 import javax.swing.*;
  8
  9 class FrameTest extends JFrame
 10 {
 11
 12     private JPanel panel;
 13     private JTextArea text,text2;
 14     private JRadioButton JRadioButton1,JRadioButton2;
 15     private ButtonGroup ButtonGroup;
 16     private JLabel JLabel;
 17     private JCheckBox h1,h2,h3;
 18     private JComboBox<String> JComboBox;
 19     private JButton Button,Button2;
 20
 21
 22    public FrameTest()
 23    {
 24       setSize(700,500);
 25       panel=new JPanel();
 26       panel.setLayout(null);
 27
 28       ButtonGroup=new ButtonGroup();
 29       JRadioButton1=new JRadioButton("Male",false);   JRadioButton1.setBounds(150,330, 80, 50);
 30       JRadioButton2=new JRadioButton("Female",false); JRadioButton2.setBounds(150,300, 80,50);
 31       ButtonGroup.add(JRadioButton1);
 32       ButtonGroup.add(JRadioButton2);
 33
 34       addJLabel("sex:",100,300);
 35       addJLabel("name:",100,50);
 36       addJLabel("address:",100,150);
 37       addJLabel("Qualification:",400,50);
 38       addJLabel("Hobby:",400,150);
 39
 40
 41       text=new JTextArea(1,1);text.setBounds(150,70, 120, 30);text.setLineWrap(true);
 42       text2=new JTextArea(5,3);text2.setBounds(150,160, 130, 100);text2.setLineWrap(true);
 43
 44
 45       h1=new JCheckBox("Reading");h1.setBounds(450,160,100,30);
 46       h2=new JCheckBox("dancing");h2.setBounds(450,180,100,30);
 47       h3=new JCheckBox("singing");h3.setBounds(450,200,100,30);
 48
 49
 50       JComboBox=new JComboBox<>();
 51       JComboBox.addItem("Graduate");
 52       JComboBox.addItem("Graduate1");
 53       JComboBox.addItem("Graduate2");
 54       JComboBox.setBounds(500,65, 100, 20);
 55
 56       Button = new JButton("提交");Button.setBounds(200, 400, 100, 35);
 57       Button2 = new JButton("重置");Button2.setBounds(400, 400, 100, 35);
 58
 59       Button.addActionListener(new Action1());
 60       Button2.addActionListener(new Action2());
 61
 62       panel.add(h1);
 63       panel.add(h2);
 64       panel.add(h3);
 65       panel.add(Button);
 66       panel.add(Button2);
 67       panel.add(JComboBox);
 68       panel.add(text);
 69       panel.add(text2);
 70       panel.add(JRadioButton1);
 71       panel.add(JRadioButton2);
 72       add(panel);
 73
 74
 75    }
 76
 77
 78    public void addJLabel(String n,int a,int b)
 79    {
 80        JLabel = new JLabel(n);
 81        JLabel.setBounds(a,b,100,50);
 82        panel.add(JLabel);
 83    }
 84
 85    private class Action1 implements ActionListener
 86    {
 87    public void actionPerformed(ActionEvent event)
 88        {
 89        System.out.println("name:"+text.getText()+"\n"+"address:"+text2.getText());
 90        System.out.println("Qualification:"+JComboBox.getSelectedItem());
 91        System.out.println("Hobby:");
 92        if(h1.isSelected()==true)System.out.print(h1.getText());
 93        if(h2.isSelected()==true)System.out.print(h2.getText());
 94        if(h3.isSelected()==true)System.out.print(h3.getText());
 95        System.out.println("\n"+"sex:");
 96        if(JRadioButton1.isSelected()==true)System.out.println(JRadioButton1.getText());
 97        if(JRadioButton2.isSelected()==true)System.out.println(JRadioButton2.getText());
 98        System.out.println("\n");
 99        }
100    }
101    private class Action2 implements ActionListener
102    {
103    public void actionPerformed(ActionEvent event)
104        {
105        text.setText(null);
106        text2.setText(null);
107        h1.setSelected(false);
108        h2.setSelected(false);
109        h3.setSelected(false);
110        ButtonGroup.clearSelection();
111        JComboBox.setSelectedIndex(0);
112        }
113    }
114    private class Action21 implements ActionListener
115    {
116    public void actionPerformed(ActionEvent event)
117        {
118        text.setText(null);
119        text2.setText(null);
120        h1.setSelected(false);
121        h2.setSelected(false);
122        h3.setSelected(false);
123        ButtonGroup.clearSelection();
124        JComboBox.setSelectedIndex(0);
125        }
126    }
127 }

FrameTest

练习2:采用GUI界面设计以下程序:

l 编制一个程序,将身份证号.txt 中的信息读入到内存中;

l 按姓名字典序输出人员信息;

l 查询最大年龄的人员信息;

l 查询最小年龄人员信息;

l 输入你的年龄,查询身份证号.txt中年龄与你最近人的姓名、身份证号、年龄、性别和出生地;

l 查询人员中是否有你的同乡。

l 输入身份证信息,查询所提供身份证号的人员信息,要求输入一个身份证数字时,查询界面就显示满足查询条件的查询结果,且随着输入的数字的增多,查询匹配的范围逐渐缩小。

  1 package unsynch;
  2
  3 import java.awt.BorderLayout;
  4 import java.awt.event.ActionEvent;
  5 import java.awt.event.ActionListener;
  6 import java.io.BufferedReader;
  7 import java.io.File;
  8 import java.io.FileInputStream;
  9 import java.io.FileNotFoundException;
 10 import java.io.IOException;
 11 import java.io.InputStreamReader;
 12 import java.util.*;
 13 import java.util.Timer;
 14 import javax.swing.*;
 15
 16 public class Main1 extends JFrame
 17 {
 18     private static ArrayList<Person> Personlist;
 19
 20
 21     Scanner scanner = new Scanner(System.in);
 22     File file = new File("F:\\身份证号.txt");
 23
 24     private JPanel Panel;
 25     private JLabel JLabel1;
 26     private JButton Button,Button2,Button3;
 27     private JTextArea text,text1,text2,text3;
 28     boolean tru=true;
 29
 30
 31
 32     public  Main1() {
 33
 34
 35         Panel = new JPanel();Panel.setLayout(null);
 36         Button = new JButton("1:按姓名字典序输出人员信息");
 37         Button2 = new JButton("2:查询最大年龄与最小年龄人员信息");
 38         Button3 = new JButton("查询相近年龄");
 39         JLabel1 = new JLabel("输入身份证号或者地址查询");JLabel1.setBounds(900, 50, 400, 30);
 40
 41         text=new JTextArea(30,80);text.setBounds(50, 180, 700, 700);
 42         text1=new JTextArea(1,30);text1.setBounds(900, 80, 400, 30);
 43         text2=new JTextArea(30,80);text2.setBounds(900,180,700, 700);
 44         text3=new JTextArea(30,80);text3.setBounds(420,100,200,40);
 45
 46         Button.addActionListener(new Action());Button.setBounds(50,50,300,40);
 47         Button2.addActionListener(new Action1());Button2.setBounds(50,100,300,40);
 48         Button3.addActionListener(new Action2());Button3.setBounds(650,100,120,40);
 49         Panel.add(JLabel1);
 50         Panel.add(Button);
 51         Panel.add(Button2);
 52         Panel.add(Button3);
 53         Panel.add(text);
 54         Panel.add(text2);           Panel.add(text1);
 55         Panel.add(text3);
 56         add(Panel);
 57
 58
 59         Timer timer = new Timer();
 60         TimerTask timeTask=new TimerTask() {
 61
 62              @Override
 63             public void run()
 64              {
 65                      // TODO Auto-generated method stub
 66                      text2.setText(null);
 67                      String place=text1.getText().toString().trim();
 68                      for (int i = 0; i <Personlist.size(); i++)
 69                      {
 70                          String Str=(String)Personlist.get(i).getbirthplace();
 71                          if(Str.contains(place)&&!place.equals(""))
 72                              {
 73                              text2.append(Personlist.get(i).toString());
 74                              }
 75                     }
 76                      for (int i = 0; i <Personlist.size(); i++)
 77                      {
 78
 79                          String Str=(String)Personlist.get(i).getID();
 80                          if(Str.contains(place)&&!place.equals(""))
 81                              {
 82                              text2.append(Personlist.get(i).toString());
 83                              }
 84                     }
 85
 86             }
 87
 88         };timer.schedule(timeTask, 0,100);
 89
 90         Personlist = new ArrayList<>();
 91         try {
 92             FileInputStream fis = new FileInputStream(file);
 93             BufferedReader in = new BufferedReader(new InputStreamReader(fis));
 94             String temp = null;
 95             while ((temp = in.readLine()) != null) {
 96                 Scanner linescanner = new Scanner(temp);
 97                 linescanner.useDelimiter(" ");
 98                 String name = linescanner.next();
 99                 String ID = linescanner.next();
100                 String sex = linescanner.next();
101                 String age = linescanner.next();
102                 String place =linescanner.nextLine();
103                 Person Person = new Person();
104                 Person.setname(name);
105                 Person.setID(ID);
106                 Person.setsex(sex);
107                 int a = Integer.parseInt(age);
108                 Person.setage(a);
109                 Person.setbirthplace(place);
110                 Personlist.add(Person);
111
112             }
113         } catch (FileNotFoundException e) {
114             System.out.println("查找不到信息");
115             e.printStackTrace();
116         } catch (IOException e) {
117             System.out.println("信息读取有误");
118             e.printStackTrace();
119         }
120
121
122     }
123
124
125
126
127     private class Action implements ActionListener
128     {
129     public void actionPerformed(ActionEvent event)
130         {
131          text.setText(null);
132          Collections.sort(Personlist);
133          text.append(Personlist.toString());
134         }
135
136     }
137
138     private class Action1 implements ActionListener
139         {
140         public void actionPerformed(ActionEvent event)
141             {
142             text.setText(null);
143             int max=0,min=100;int j,k1 = 0,k2=0;
144             for(int i=1;i<Personlist.size();i++)
145             {
146                 j=Personlist.get(i).getage();
147                if(j>max)
148                {
149                    max=j;
150                    k1=i;
151                }
152                if(j<min)
153                {
154                    min=j;
155                    k2=i;
156                }
157             }
158             text.append("年龄最大:   "+Personlist.get(k1)+"\n"+"年龄最小:  "+Personlist.get(k2));
159             }
160
161         }
162
163   private class Action2 implements ActionListener
164     {
165     public void actionPerformed(ActionEvent event)
166         {
167          text.setText(null);
168          int a = Integer.parseInt(text3.getText().toString().trim());
169          int d_value=a-Personlist.get(agenear(a)).getage();
170
171          for (int i = 0; i < Personlist.size(); i++)
172          {
173              int p=Personlist.get(i).getage()-a;
174
175              if(p==d_value||-p==d_value) text.append(Personlist.get(i).toString());
176          }
177         }
178
179     }
180
181
182     public static int agenear(int age) {
183
184         int j=0,min=53,d_value=0,k=0;
185          for (int i = 0; i < Personlist.size(); i++)
186          {
187              d_value=Personlist.get(i).getage()-age;
188              if(d_value<0) d_value=-d_value;
189              if (d_value<min)
190              {
191                 min=d_value;                   k=i;
192              }
193
194           }    return k;
195
196       }
197
198 }
199 package unsynch;
200
201     import java.awt.Dimension;
202     import java.awt.EventQueue;
203     import java.awt.Toolkit;
204
205     import javax.swing.JFrame;
206
207     public class Out {
208
209          public static void main (String args[])
210             {
211                  Toolkit t=Toolkit.getDefaultToolkit();
212                 Dimension s=t.getScreenSize();
213                 EventQueue.invokeLater(() -> {
214                     JFrame frame = new Main1();
215                     frame.setBounds(0, 0,(int)s.getWidth(),(int)s.getHeight());
216                     frame.setTitle("身份查询系统");
217                     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
218                     frame.setVisible(true);
219                  });
220             }
221
222     }
223 package unsynch;
224
225 public class Person implements Comparable<Person> {
226         private String name;
227         private String ID;
228         private int age;
229         private String sex;
230         private String birthplace;
231
232         public String getname() {
233         return name;
234         }
235         public void setname(String name) {
236         this.name = name;
237         }
238         public String getID() {
239         return ID;
240         }
241         public void setID(String ID) {
242         this.ID= ID;
243         }
244         public int getage() {
245
246         return age;
247         }
248         public void setage(int age) {
249         this.age= age;
250         }
251         public String getsex() {
252         return sex;
253         }
254         public void setsex(String sex) {
255         this.sex= sex;
256         }
257         public String getbirthplace() {
258         return birthplace;
259         }
260         public void setbirthplace(String birthplace) {
261         this.birthplace= birthplace;
262         }
263
264         public int compareTo(Person o) {
265            return this.name.compareTo(o.getname());
266
267         }
268
269         public String toString() {
270             return  name+"\t"+sex+"\t"+age+"\t"+ID+"\t"+birthplace+"\n";
271
272         }
273   }

练习3:采用GUI界面设计以下程序

l 编写一个计算器类,可以完成加、减、乘、除的操作

l 利用计算机类,设计一个小学生100以内数的四则运算练习程序,由计算机随机产生10道加减乘除练习题,学生输入答案,由程序检查答案是否正确,每道题正确计10分,错误不计分,10道题测试结束后给出测试总分;

l 将程序中测试练习题及学生答题结果输出到文件,文件名为test.txt。

  1 import java.awt.Dimension;
  2 import java.awt.EventQueue;
  3 import java.awt.Toolkit;
  4
  5 import javax.swing.JFrame;
  6
  7 public class main {
  8
  9      public static void main (String args[])
 10         {
 11              Toolkit t=Toolkit.getDefaultToolkit();
 12             Dimension s=t.getScreenSize();
 13             EventQueue.invokeLater(() -> {
 14                 JFrame frame = new nic();
 15                 frame.setBounds(0, 0,(int)s.getWidth()/2,(int)s.getHeight()/2);
 16                 frame.setTitle("大师");
 17                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 18                 frame.setVisible(true);
 19              });
 20         }
 21
 22 }
 23 import java.awt.Font;
 24 import java.awt.event.ActionEvent;
 25 import java.awt.event.ActionListener;
 26 import java.io.FileNotFoundException;
 27 import java.io.PrintWriter;
 28 import java.util.Collections;
 29 import java.util.Scanner;
 30
 31 import javax.swing.*;
 32
 33 import java.math.*;
 34
 35
 36 public class nic extends JFrame {
 37
 38     private String[] c=new String[10];
 39     private String[] c1=new String[11];
 40     private int[] list=new int[10];
 41     int i=0,i1=0,sum = 0;
 42     private PrintWriter out = null;
 43     private JTextArea text,text1;
 44     private int counter;
 45
 46     public nic()  {
 47         JPanel Panel = new JPanel();Panel.setLayout(null);
 48         JLabel JLabel1=new JLabel("...");JLabel1.setBounds(500, 800, 400, 30);JLabel1.setFont(new Font("Courier",Font.PLAIN,35));
 49         JButton Button = new JButton("题目");Button.setBounds(50,150,150,50);Button.setFont(new Font("Courier",Font.PLAIN,20)); Button.addActionListener(new Action());
 50         JButton Button2 = new JButton("确定");Button2.setBounds(300,150,150,50);Button2.setFont(new Font("Courier",Font.PLAIN,20));Button2.addActionListener(new Action1());
 51         JButton Button3 = new JButton("读出文件");Button3.setBounds(500,150,150,50);Button3.setFont(new Font("Courier",Font.PLAIN,20));Button3.addActionListener(new Action2());
 52          text=new JTextArea(30,80);text.setBounds(30, 50, 200, 50);text.setFont(new Font("Courier",Font.PLAIN,35));
 53          text1=new JTextArea(30,80);text1.setBounds(270, 50, 200, 50);text1.setFont(new Font("Courier",Font.PLAIN,35));
 54
 55          Panel.add(text);
 56          Panel.add(text1);
 57
 58          Panel.add(Button);
 59          Panel.add(Button2);
 60          Panel.add(Button3);
 61          Panel.add(JLabel1);
 62          add(Panel);
 63     }
 64
 65     private class Action implements ActionListener
 66     {
 67     public void actionPerformed(ActionEvent event)
 68         {
 69         text1.setText("0");
 70         if(i<11) {
 71
 72         int a = 1+(int)(Math.random() * 99);
 73         int b = 1+(int)(Math.random() * 99);
 74         int m= (int) Math.round(Math.random() * 3);
 75       switch(m)
 76       {
 77       case 1:
 78           while(a<b){  b = (int) Math.round(Math.random() * 100);a = (int) Math.round(Math.random() * 100); }
 79           c[i]=((i+1)+":"+a+"/"+b+"=");
 80             list[(i+1)]=Math.floorDiv(a, b);
 81             text.setText((i+1)+":"+a+"/"+b+"=");
 82             i++;
 83
 84           break;
 85       case 2:
 86           c[i]=((i+1)+":"+a+"*"+b+"=");
 87           list[(i+1)]=Math.multiplyExact(a, b);
 88           text.setText((i+1)+":"+a+"*"+b+"=");
 89          i++;
 90           break;
 91       case 3:
 92           c[i]=((i+1)+":"+a+"+"+b+"=");
 93           list[(i+1)]=Math.addExact(a, b);
 94          text.setText((i+1)+":"+a+"+"+b+"=");
 95          i++;
 96           break ;
 97       case 4:
 98           while(a<=b){  b = (int) Math.round(Math.random() * 100);a = (int) Math.round(Math.random() * 100); }
 99           c[i]=((i+1)+":"+a+"-"+b+"=");
100           text.setText((i+1)+":"+a+"-"+b+"=");
101           list[(i+1)]=Math.subtractExact(a, b);
102           i++;
103
104           break ;
105           }
106         }
107       }
108     }
109     private class Action1 implements ActionListener
110     {
111     public void actionPerformed(ActionEvent event)
112         {
113         if(i<10) {
114
115         String daan=text1.getText().toString().trim();
116         int a = Integer.parseInt(daan);
117         if(text1.getText()!="  ") {
118          if(list[i1]==a) sum+=10;
119          }
120
121          c1[i1]=daan;
122
123          i1++;
124
125         }
126       }
127     }   

任务3:本学期课程已结束,请汇总《面向对象程序设计课程学习进度条》的数据,统计个人专业能力提升的数据。并从学习内容、学习方法、学习心得几个方面进行课程学习总结,也希望你对课程的不足提出建议和意见。

实验总结:

实验结束了,我觉得课程确实不错,但是作业量还是有点多,所以最后作业效率感觉没那么高了。

原文地址:https://www.cnblogs.com/hongyanohongyan/p/10186140.html

时间: 2024-10-11 12:49:52

201771010102 常惠琢 2018面向对象程序设计(JAVA)第18周学习总结的相关文章

201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结

项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475377.html 作业学习目标 学习并掌握Java Application程序结构: 学习并掌握Java语言的数据类型与变量: 学会使用Java运算符构造各类表达式: 掌握Java Application输入输出技术: 掌握Java流程控制技术(分支.循环): 掌握Math类.Strin

201771010123汪慧和《面向对象程序设计Java》第二周学习总结

一.理论知识部分 1.标识符由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字.标识符可用作: 类名.变量名.方法名.数组名.文件名等.第二部分:理论知识学习部分 2.关键字就是Java语言中已经被赋予特定意义 的一些单词. ?常见有:class.public.try.catch.if. float.import.void等. 关键字不做变量名. 3.Java有三种注释的方式:   // 注释内容由//一直到此行结束. /*和*/ 定义一个注释块.  /**开始,*/结束 这种注释方法

20182332 2019-2020-1 《数据结构与面向对象程序设计》第1周学习总结

20182332 2019-2020-1 <数据结构与面向对象程序设计>第1周学习总结1 教材学习内容总结 1.配置linux 虚拟机.java环境. 2.理解面向对象程序设计,包括属性.方法.封装等概念. Java基本结构,环境变量配置,集成开发环境. JAVA文件编译过程: 1.源文件由编译器编译成字节码(ByteCode) 2.字节码由java虚拟机解释运行. git命令: git init 创建本地版本库: git clone 与远程仓库建立联系: git add .将当前目录下文件添

《数据结构与面向对象程序设计》第1周学习总结

学号 2019-2020-2314 <数据结构与面向对象程序设计>第1周学习总结 教材学习内容总结 1.计算机系统是由软硬件组成的 2.java程序的结构组成(注释.标识符和保留字等) 注:java是大小写敏感的,大写和小写是有区别的 3.程序开发所包含的内容(程序设计语言的等级.编辑器.编译程序.解释程序.开发环境和语法语义) 4.在开发软件的过程中遇到问题时的解决步骤:理解问题.设计方案.考虑方案的选择并优化方案.实现方案.测试方案并修改存在的任何问题. 教材学习中的问题和解决过程 问题1

20182329 2019-2020-1 《数据结构与面向对象程序设计》第1周学习总结

20182329 2019-2020-1 <数据结构与面向对象程序设计>第1周学习总结 教材学习内容总结 git代码托管代码 Java的基本编程 jdb代码调试 教材学习中的问题和解决过程 问题1:在课本自学过程中,有一题是Java中有什么是不可能被识别的,我做错了一道(12345)可以被识别. 问题1解决方案:后来询问学长数字不与命令相匹配时不是有效的标识符,且标识符不能以数字为开头. 问题2:在自己对于课本代码编译时,发现自己main处显示错误 问题2解决方案:一开始我以为是我main的方

《数据结构与面向对象程序设计》第01周学习总结

目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第01周学习总结 教材学习内容总结 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 结对及互评 点评模板: 点评过的同学博客和代码 其他(感悟.思考等,可选) 学习进度条 参考资料 目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第01周学习总结 教材学习内容总结 学习了java的历史与发展. 学习了一些软件工具,开发环境等. 掌握

《数据结构与面向对象程序设计》第2-3周学习总结

学号20182329 2019-2020-1 <数据结构与面向对象程序设计>第2-3周学习总结 教材学习内容总结 条件语句和循环语句的使用 输入语句和输出语局应用 基本数据类型的转换和应用 各种类的使用方法,以及格式化输出的方法. 基本的类的编写 教材学习中的问题和解决过程 问题1:scanner输入时用short nextShort()输入时出现异常. 问题1解决方案:输入时应与前一项自己指定的数据类型一样才可以. 问题2:在应用impoet时使用import Java.util.*时并不会

20182320 2019-2020-1 《数据结构与面向对象程序设计》第4周学习总结

20182320 2019-2020-1 <数据结构与面向对象程序设计>第4周学习总结 1.教材学习内容总结 本周学习内容分为以下几个部分: 4.8.1 迭代器和for循环 5.1 再谈类和对象 5.2 类的剖析 5.3 封装 5.4 方法的剖析 5.5 静态类成员 5.6 类关系 5.7 方法设计 5.8 方法重载 5.9 测试 5.10 调试 4.8.1 迭代器和for循环 什么是迭代器? 迭代器是一个对象,我们可以使用它的方法来处理某集合中的元素,一次处理一个. 每个迭代器对象都有一个方

20182328 2019-2020-1 《数据结构与面向对象程序设计》第4周学习总结

20182328 2019-2020-1 <数据结构与面向对象程序设计>第4周学习总结 教材学习内容总结 1.对类和对象进一步的了解. 2.学习静态类和静态方法. 3.学习类之间不同类型的关系. 4.学习方法的设计及重载. 5.学习了如何调试. 教材学习中的问题和解决过程 问题1:为什么有的变量可以重名? 问题1解决方案:在方法内声明的局部变量可以和在类一级声明的实例变量有同样的名字. 问题2:方法重载的用处是什么? 问题2解决方案:方法可能面临会有不用的参数列表,这时会用到重载,方便调用.