public class Computer {
private String Id //编号
private String CPU //CPU编号
private String motherBoard //主板
private int HD //硬盘大小
private int Memory //内存大小
private String GPU //显存编号
private float price //价格
public Computer() {
}
public Computer(String id, String cPU, String motherBoard, int hD,
int memory, String gPU, float price) {
super()
Id = id
CPU = cPU
this.motherBoard = motherBoard
HD = hD
Memory = memory
GPU = gPU
this.price = price
}
public String getId() {
return Id
}
public void setId(String id) {
Id = id
}
public String getCPU() {
return CPU
}
public void setCPU(String cPU) {
CPU = cPU
}
public String getMotherBoard() {
return motherBoard
}
public void setMotherBoard(String motherBoard) {
this.motherBoard = motherBoard
}
public int getHD() {
return HD
}
public void setHD(int hD) {
HD = hD
}
public int getMemory() {
return Memory
}
public void setMemory(int memory) {
Memory = memory
}
public String getGPU() {
return GPU
}
public void setGPU(String gPU) {
GPU = gPU
}
public float getPrice() {
return price
}
public void setPrice(float price) {
this.price = price
}
public String toString() {
return "Computer [Id=" + Id + ", CPU=" + CPU + ", motherBoard="
+ motherBoard + ", HD=" + HD + ", Memory=" + Memory + ", GPU="
+ GPU + ", price=" + price + "]"
}
}
import java.util.ArrayList
import java.util.Scanner
public class MainComputer {
public static void main(String[] args) {
ArrayList<Computer> cList = new ArrayList<Computer>()
Scanner scanner = new Scanner(System.in)
System.out.print("请旦亮输入需要几台计算机:")
int cont = scanner.nextInt()
//手动输入电纤迟丛脑的信息并保毁樱存到list中
for (int i = 1 i <= cont i++) {
System.out.println("请输入第" + i + "台计算机的编号:")
String id = scanner.next()
if (cList.size()!=0) {//当电脑数量大于1时,需要判断电脑编号是否有重复(电脑编号唯一性)
for (int j = 0 j < cList.size() j++) {
while(id.equalsIgnoreCase(cList.get(j).getId())) {
System.out.println("改编号已被使用,请重新输入!")
System.out.println("请输入第" + i + "台计算机的编号:")
id = scanner.next()
}
}
}
System.out.println("请输入第" + i + "台计算机的CPU编号:")
String CPU = scanner.next()
System.out.println("请输入第" + i + "台计算机的主板型号:")
String motherBoard = scanner.next()
System.out.println("请输入第" + i + "台计算机的硬盘大小:")
int HD = (int) getInt(scanner , Integer.class)
System.out.println("请输入第" + i + "台计算机的内存大小:")
int memory = (int) getInt(scanner , Integer.class)
System.out.println("请输入第" + i + "台计算机的显存编号:")
String GPU = scanner.next()
System.out.println("请输入第" + i + "台计算机的价格:")
float price = getInt(scanner, Float.class)
Computer computer = new Computer(id, CPU, motherBoard, HD, memory, GPU, price)
cList.add(computer)
}
//输出所有电脑的信息
for (Computer computer : cList) {
System.out.println(computer.toString())
}
}
public static float getInt(Scanner scanner ,Class<?> c){//获得正确的整数以及浮点数
float num = 0
while (true) {
if(c.getName().contains("Integer")){//如果类型匹配整型
if(scanner.hasNextInt()){//查看是否输入的是整数
num = scanner.nextInt()
break
}else{
System.out.println("必须输入整数")
scanner.next()
}
}else{
if(scanner.hasNextFloat()){//查看是否输入的是浮点数
num = scanner.nextFloat()
break
}else{
System.out.println("必须输入整数")
scanner.next()
}
}
}
return num
}
}
/** 使用ArrayList编写名为ALDemo.java的程序,实现如下 *** 作:
1. 将数组int[] a = {1,2,3,4,5,6,7,8,9,10}转换为ArrayList集合al;
2. 使用for循环删除所有值为3的倍数的元素,同时将所有值为奇数的元素的值放大10倍;
3. 使用迭代器输出集猛竖合中的所有元素。
*/答纳
public static void main(String[] args) {
int[] a = {1,2,3,4,5,6,7,8,9,10}
ArrayList<Integer>al = new ArrayList<Integer>()
//1. 将数组int[] a = {1,2,3,4,5,6,7,8,9,10}转换为ArrayList集合al;
for (int i = 0i <a.lengthi++) {
al.add(a[i])
}
System.out.println("1:"+al)
//2. 使清知没用for循环删除所有值为3的倍数的元素,同时将所有值为奇数的元素的值放大10倍;
for (int i = 0i <al.size()i++) {
if(al.get(i)%3==0){
int al2=al.get(i)
al.remove(i)
al.add(i, al2*10)
}
}
System.out.println("2:"+al)
//3. 使用迭代器输出集合中的所有元素。
Iterator<Integer>it = al.iterator()
System.out.println("使用迭代器输出集合中的所有元素")
while(it.hasNext()){
//next()返回的数据是Object型,需要强制转化
Integer info = (Integer)it.next()
System.out.println(info)
}
}
//test类import java.util.ArrayList
import java.util.List
import java.util.Scanner
public class Test {
public static void main(String[] args) {
源凯丛 雹樱Scanner in=new Scanner(System.in)
List<Object> list = new ArrayList()
System.out.println("请输入贷款金额====")
Loan loan = 孙厅new Loan(in.nextDouble())
list.add(loan)
System.out.println("请输入时间字符串====")
Mydate mydate = new Mydate(in.next())
list.add(mydate)
for (int i = 0 i < list.size() i++) {
System.out.println(list.get(i).toString())
}
}
}
//Loan类
public class Loan {
private Double loan
public Loan (Double loan){//构造方法赋值 也可以使用set 方法
this.loan = loan
}
@Override
public String toString() {
return "Loan:"+loan
}
}
//Mydate 类
public class Mydate {
private String date
public Mydate(String date){
this.date = date
}
@Override
public String toString() {
return "Date:"+date
}
}
运行test类就好了。 只写了俩个。 其它的都只是成员变量的不同。 希望能帮助你
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)