Java基础-day07-知识点相关题-自定义数据类型;ArrayList

时间:2022-05-04
本文章向大家介绍Java基础-day07-知识点相关题-自定义数据类型;ArrayList,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Java基础-day07-知识点相关题

一、定义类:包含main()方法,按以下要求编写程序:

1)实例化一个ArrayList,只存储String数据:

2)依次存入以下元素:孙悟空,猪八戒,白骨精,红孩儿

3)遍历集合,取出每个元素并打印;

代码实现:

package StudentJavaSEday07;
import java.util.ArrayList;
/**
 * 1)实例化一个ArrayList,只存储String数据:
 *  2)依次存入以下元素:孙悟空,猪八戒,白骨精,红孩儿 
 *  3)遍历集合,取出每个元素并打印;
 * 
 * @author 奋斗蒙
 *
 */
public class Demo {
 public static void main(String[] args) {
 ArrayList<String> al = new ArrayList<String>();
 String a = "孙悟空";
 String b = "猪八戒";
 String c = "白骨精";
 String d = "红孩儿";
 al.add(a);
 al.add(b);
 al.add(c);
 al.add(d);
 for (int i = 0; i < al.size(); i++) {
 System.out.println(al.get(i));
 }
 }
}

运行结果:

二、定义类:包含main()方法,按以下要求编写程序:

4)在类中定义方法String printList(ArrayList<Integer> list),表示:将集合内所有元素转换为一个字符串,并返回。

(注:请参考数组的实现)

例如:集合内元素:10,5,90,70,66,80,88

返回的字符串:{10, 5, 90, 70, 66, 80, 88}

代码实现:

package StudentJavaSEday07;
import java.util.ArrayList;
/**
 * 在类中定义方法String printList(ArrayList<Integer> list), 
 * 表示:将集合内所有元素转换为一个字符串,并返回。
 * (注:请参考数组的实现) 
 * 例如:集合内元素:10,5,90,70,66,80,88 
 * 返回的字符串:{10, 5, 90, 70, 66, 80, 88}
 * 
 * @author 奋斗蒙
 *
 */
public class Demo2 {
 public static void main(String[] args) {
 ArrayList<Integer> list = new ArrayList<Integer>();
 list.add(10);
 list.add(5);
 list.add(90);
 list.add(70);
 list.add(66);
 list.add(80);
 list.add(88);
 String str = printList(list);
 System.out.println(str);
 }
 public static String printList(ArrayList<Integer> list) {
 String str = "{";
 for (int i = 0; i < list.size(); i++) {
 if (i != (list.size() - 1)) {
 str += list.get(i)+",";
 } else {
 str += list.get(i);
 }
 }
 str += "}";
 return str;
 }
}

运行结果:

三、

定义类:Person(人),包含以下属性:

姓名:

性别:

年龄:

身份证号:

身高(米):

体重(公斤):

定义类:包含main()方法,按以下要求编写程序:

1)实例化一个Person对象p1;

2)为p1的各个属性赋值;

3)打印p1的各个属性值;

4)实例化第二个Person对象p2;

5)为p2的各个属性赋值;

6)打印p2的各个属性值;

然后将p1和p2 对象存进一个集合中,然后遍历这个集合,将所有的对象的信息打印 出来。

实现代码:

package StudentJavaSEday07;
public class Person {
 String name; // 姓名
 String sex; // 性别
 int age; // 年龄
 String ID; // 身份证
 double height; // 身高
 double weight; // 体重
 public Person(String name, String sex, int age, String iD, double height, double weight) {
 super();
 this.name = name;
 this.sex = sex;
 this.age = age;
 ID = iD;
 this.height = height;
 this.weight = weight;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public String getSex() {
 return sex;
 }
 public void setSex(String sex) {
 this.sex = sex;
 }
 public int getAge() {
 return age;
 }
 public void setAge(int age) {
 this.age = age;
 }
 public String getID() {
 return ID;
 }
 public void setID(String iD) {
 ID = iD;
 }
 public double getHeight() {
 return height;
 }
 public void setHeight(double height) {
 this.height = height;
 }
 public double getWeight() {
 return weight;
 }
 public void setWeight(double weight) {
 this.weight = weight;
 }
}
package StudentJavaSEday07;
/**
 * 定义类:Test1,包含main()方法,按以下要求编写程序:
 * 1)实例化一个Person对象p1;
 * 2)为p1的各个属性赋值;
 * 3)打印p1的各个属性值;
 * 4)实例化第二个Person对象p2;
 * 5)为p2的各个属性赋值;
 * 6)打印p2的各个属性值;
 * @author 奋斗蒙
 */
public class Test {
 public static void main(String[] args) {
 Person p1 = new Person(null, null, 0, null, 0, 0);
 p1.name = "孙悟空";
 p1.sex = "男";
 p1.age = 999999;
 p1.ID = "0000000001";
 p1.height = 180.00;
 p1.weight = 50.00;
 Person p2 = new Person(null, null, 0, null, 0, 0);
 p2.name = "赵云";
 p2.sex = "男";
 p2.age = 888888;
 p2.ID = "0000000002";
 p2.height = 190.00;
 p2.weight = 70.00;
 System.out.print("姓名:"+p1.name+"; ");
 System.out.print("性别:"+p1.sex+"; ");
 System.out.print("年龄:"+p1.age+"; ");
 System.out.print("身份证:"+p1.ID+"; ");
 System.out.print("身高:"+p1.height+"; ");
 System.out.println("体重:"+p1.weight+"; ");
 System.out.println("---------------------------------");
 System.out.print("姓名:"+p2.name+"; ");
 System.out.print("性别:"+p2.sex+"; ");
 System.out.print("年龄:"+p2.age+"; ");
 System.out.print("身份证:"+p2.ID+"; ");
 System.out.print("身高:"+p2.height+"; ");
 System.out.println("体重:"+p2.weight+"; ");
 }
}

运行结果:

四、定义一个集合,只能存储String 类型的数据,然后创建一个键盘录入的Scanner对象,要求该集合可以一直循环录入数据,直到在控制台录入字符串 exit, 跳出循环。结束键盘录入。

代码实现:

package StudentJavaSEday07;
import java.util.ArrayList;
import java.util.Scanner;
/**
 * 定义一个集合,只能存储String 类型的数据, 
 * 然后创建一个键盘录入的Scanner对象,
 *  要求该集合可以一直循环录入数据,
 * 直到在控制台录入字符串exit, 
 * 跳出循环。 结束键盘录入。
 * 
 * @author 奋斗蒙
 */
public class Demo3 {
 public static void main(String[] args) {
 ArrayList<String> list = new ArrayList<String>();
 while (true) {
 for (int i = 0; i == list.size(); i++) {
 Scanner sc = new Scanner(System.in);
 System.out.println("请输入一个字符串(程序退出请输入exit):");
 String next = sc.next();
 if ("exit".equals(next)) {
 System.out.println("程序已经退出!");
 return;
 }
 list.add(next);
 }
 }
 }
}

运行结果:

思考作业:

定义类,定义main()方法,按以下要求编写代码:

定义类Dog,要求有以下成员:

成员属(私有):

名称:

性别:

年龄:

构造方法:

无参:

全参:

成员方法:

get/set方法

在main()方法中,按以下要求编写代码:

1)实例化一个只存储Dog对象的ArryayList集合;

2)向集合中添加三个Dog对象:

“金毛”, ’公’, 2

“哈士奇”,’公’, 1

“藏獒”, ‘母’, 3

3)再次向集合中添加一个Dog对象

“哈士奇”,‘公’, 1

4)遍历集合,打印每个Dog对象,观察是否存储了两个”相同的对象”;

5)如果希望不存储”相同的对象”,应该怎么做?