package com.xjc;
/任务二:创建士兵(Soldiers)类,该类有三个属性name(名字),x(横坐标),y(纵坐标)
在该类中定义有参构造方法,该方法有一个String类型参数name,代表士兵的姓名,
两个int类型变量x和y,分别表示士兵被实例化后所在的坐标位置,x代表横坐标,y代表纵坐标。
在主方法中使用for循环创建5个士兵对象,每个士兵对象的姓名以及x,y坐标是通过用户在控制台输入的。将5个士兵对象存入到数组中。/
import java.util.Scanner;
//创建Soldiers类
public class Soldiers {
// 定义几个属性
String name;
int x;
int y;
/*
* 创建一个无参构造方法(当没有手动添加构造方法,系统会默认添加一个无参的构造方法。
* 当手动添加了构造方法,默认的无参的构造方法会消失。所以我们通常都会创建一个无参构造方法,可能会用到)
*/
public Soldiers() {
}
// 创建一个有参构造方法
public Soldiers(String name, int x, int y) {
this.name = name;
this.x = x;
this.y = y;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 定义一个Soldiers类型的数组,Soldiers是我们自己定义的一个类
Soldiers[] soldiersShuZu = new Soldiers[5];
// 使用for循环获取这五个士兵的信息
for (int i = 0; i < 5; i++) {
System.out.println("请输入第" + (i + 1) + "个小兵的名字:");
String name = input.next();
System.out.println("请输入第" + (i + 1) + "个小兵的x坐标:");
int x = input.nextInt();
System.out.println("请输入第" + (i + 1) + "个小兵的y坐标:");
int y = input.nextInt();
// 新建一个ShiBing对象,把上面输入的参数传给这个对象,并且输出属性
Soldiers ShiBing = new Soldiers(name, x, y);
System.out.println("士兵名字:" + name + " X坐标:" + x + " Y坐标:" + y);
// 把ShiBing对象存入我们定义的数组
soldiersShuZu[i] = ShiBing;
}
// for循环遍历数组,输出小兵信息
for (int i = 0; i < soldiersShuZu.length; i++) {
// 这里是定义一个soldiers类型的变量--ShiBing;可以理解为类似:int a 这种,只不过这里的数据类型是soldiers,是我们自己定义的类型
Soldiers ShiBing = soldiersShuZu[i];
System.out
.println("第" + i + "个小兵的信息:\n姓名:" + ShiBing.name + "坐标:" + "(" + ShiBing.x + "," + ShiBing.y + ")");
}
}
}