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)如果希望不存储”相同的对象”,应该怎么做?

原文发布于微信公众号 - Java帮帮(javahelp)

原文发表时间:2017-06-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏desperate633

LintCode 堆化代码

5510
来自专栏Java帮帮-微信公众号-技术文章全总结

第十九天 集合-Map接口容器工具类集合框架总结【悟空教程】

Map集合的特点,如是否可重复,是否有序仅作用在键上,如HashMap集合的键不得重复,值可以重复。

24330
来自专栏拭心的安卓进阶之路

Java 集合深入理解(4):List<E> 接口

蓝瘦!香菇! 连着加班几天,醉了。学学 List 放松下! ? 在 Java 集合深入理解:Collection 中我们熟悉了 Java 集合框架的基本概念和...

274100
来自专栏眯眯眼猫头鹰的小树杈

leetcode349. Intersection of Two Arrays

思路一模仿了归并排序的merge部分。先将两个数组分别排序,排序完成之后再用两个指针分别比较两个数组的值。如果两个指针指向的值相同,则向结果集中添加该元素并且同...

10730
来自专栏mathor

堆及其相关应用

 提到堆就不得不说到二叉树这个结构,堆就是一颗完全二叉树,什么叫完全二叉树,用一句话来概括就是:设二叉树的深度为h,除第h层外,其它各层的结点数都达到最大个数,...

11320
来自专栏尾尾部落

[算法总结] 一文搞懂面试链表题

链表是面试过程中经常被问到的,这里把剑指offer 和 LeetCode 中的相关题目做一个汇总,方便复习。

15810
来自专栏禁心尽力

Set容器--HashSet集合

Set容器特点: ①   Set容器是一个不包含重复元素的Collection,并且最多包含一个null元素,它和List容器相反,Set容器不能保证其元素的顺...

23650
来自专栏云霄雨霁

Java--集合类之Collection与Map

24480
来自专栏用户画像

剑指offer 栈的压入,弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序...

9130
来自专栏皮皮之路

【JDK1.8】JDK1.8集合源码阅读——LinkedHashMap

11140

扫码关注云+社区

领取腾讯云代金券