Java程序题,用ArrayList编写

Java程序题,用ArrayList编写,第1张

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类就好了。 只写了俩个。 其它的都只是成员变量的不同。 希望能帮助你


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12477506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存