天耀18期 –12.數據結構 ArrayList【作業】-計算機管理

/**

 * 1. 使用ArrayList存儲整型元素,並對元素進行升序輸出

 */

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import java.util.Random;

 

public class Homework01 {

       public void listSort(){

              //泛型爲整形

              List<Integer> list =new ArrayList<Integer>();

             

              //對其中的值隨機賦值

              Random rd=new Random();

              for(int i=0;i<10;i++){

              list.add(rd.nextInt(20));

              }

              //遍歷一次輸出值

              Iterator iterator=list.iterator();

              System.out.println("未排序前的數字,第一種方式輸出:");

              while(iterator.hasNext()){

                     System.out.print(iterator.next()+" ");

              }

              System.out.println();

              System.out.println("未排序前的數字,第二種方式輸出:");

              for(int i=0;i<list.size();i++){

                     System.out.print(list.get(i)+" ");

              }

              //第一種方式將List接口轉化爲數組

              Integer arr[]=list.toArray(new Integer[list.size()]);

              //利用冒泡排序法進行排序

              for(int i=list.size();i>0;i--){

                     for(int j=0;j<i-1;j++){

                            if(arr[j]>arr[j+1]){

                                   Integer temp=arr[j];

                                   arr[j]=arr[j+1];

                                   arr[j+1]=temp;

                            }

                           

                     }

             

              }

             

              System.out.println();

              System.out.println("輸出排序後的數字:");

              //加強for循輸出。。

              for (Integer intg:arr ){

                     System.out.print(intg+" ");

              }

       }            

              public static void main(String[]args){

                     Homework01 hw=new Homework01();

                     hw.listSort();

              }

             

 

}

package lesson15;

 

import java.util.ArrayList;

import java.util.Iterator;

 

/**

 * 2. 創建一個類,用於向類中的ArrayList添加元素的同時進行降序排列

class T {

   ArrayList alist = new ArrayList();

 

   public void addAndSort(int element) {

      //1. 添加元素到alist

      //2. alist中的元素降序排列

}

}

 

 * @author LENOVO

 *

 */

 

public class T {

   //alist中只能放整形類

   ArrayList<Integer> alist=new ArrayList<Integer>();

   public void addAndSort(int element){

      //向對象alist中添加元素

      System.out.println("未排序前輸出數字:");

      for (int i=0;i<element;i++){

         alist.add(i);

      }

      Iterator iterator=alist.iterator();

      while(iterator.hasNext()){

         System.out.print(iterator.next()+" ");

      }

     

      Integer arr[]=alist.toArray(new Integer[element]);

      //冒泡排序法降序輸出

      for (int i=element;i>0;i--){

         for(int j=0;j<i-1;j++){

            if (arr[j]<arr[j+1]){

                Integer temp=arr[j];

                arr[j]=arr[j+1];

                arr[j+1]=temp;

            }

         }

      }

      System.out.println();

      System.out.println("排序後輸出數字:");

      for (int i=0;i<element;i++){

         System.out.print(arr[i]+" ");

      }

     

   }

   public static void main(String[]args){

      T t=new T();

      t.addAndSort(10);

   }

 

}

package lesson15;

 

import java.util.ArrayList;

 

/**

 * 3. 創建平面座標類(Point,設置兩個成員變量xy,分別表示該點的兩個座標)

   創建ArrayList用於保存Point對象,並完成如下功能

  1)將ArrayList中的Point按照x座標升序輸出

  2)將ArrayList中的Point按照y座標降序輸出

  3)將ArrayList中的Point按照與原點的距離大小,升序輸出。

 

 * @author LENOVO

 *

 */

 

public class Point {

   double  x;

   double y;

   //構造方法

   public Point(double x,double y){

      this.x=x;

      this.y=y;

     

   }

   public double getX() {

      return x;

   }

   public void setX(double x) {

      this.x = x;

   }

   public double getY() {

      return y;

   }

   public void setY(double y) {

      this.y = y;

   }

   public double getDistance(double x,double y){

      return Math.sqrt(x*x+y*y);

   }

  

}

   class Test{

      public static void main(String[]args){

         ArrayList<Point> alist=new ArrayList<Point>();

         alist.add(new Point(8,3));

         alist.add(new Point(4,5));

         alist.add(new Point(10,6));

         alist.add(new Point(7,8));

         //按照x座標升序排序

         for (int i=alist.size();i>0;i--){

            for(int j=0;j<i-1;j++){

                if(alist.get(j).getX()>alist.get(j+1).getX()){

                   Point P=alist.get(j);

                   alist.set(j, alist.get(j+1));

                   alist.set(j+1, P);

                }

            }

         }

         System.out.println("X升序排序結果:");

         for(int i=0;i<alist.size();i++){

         System.out.print("x="+alist.get(i).getX()+"y="+alist.get(i).getY());

         }

         //按照y座標降序排序

         for (int i=alist.size();i>0;i--){

            for(int j=0;j<i-1;j++){

                if(alist.get(j).getY()<alist.get(j+1).getY()){

                   Point P=alist.get(j);

                   alist.set(j, alist.get(j+1));

                   alist.set(j+1, P);

                }

            }

         }

         System.out.println("y降序排序結果:");

         for(int i=0;i<alist.size();i++){

            System.out.print("x="+alist.get(i).getX()+"y="+alist.get(i).getY());

         }

         //按照與原點的距離大小,升續

         for(int i=alist.size();i>0;i--){

            for(int j=0;j<i-1;j++){

               if(alist.get(j).getDistance(alist.get(j).getX(),alist.get(j).getY())>

                alist.get(j+1).getDistance(alist.get(j+1).getX(), alist.get(j+1).getY())){

                   Point P=alist.get(j);

                   alist.set(j, alist.get(j+1));

                   alist.set(j+1, P);

                }

            }

         }

         System.out.println("按照與原點的距離大小,升續:");

         for(int i=0;i<alist.size();i++){

            System.out.print("x="+alist.get(i).getX()+"y="+alist.get(i).getY());

      }

     

   }

}

package lesson15;

 

import java.util.ArrayList;

import java.util.Scanner;

 

/**

 * 準備工作:創建一個Computer

包含成員變量如下:

(1)編號(即計算機的唯一標識)

(2)CPU型號

(3)主板型號

(4)硬盤大小

(5)內存大小

(6)顯卡型號

(7)價格

包含方法如下:

(1)輸出當前計算機的所有屬性

(2)設置計算機CPU型號

(3)設置計算機主板型號

(4)設置計算機硬盤大小

(5)設置計算機內存大小

(6)設置計算機顯卡型號

(7)設置計算機價格

(8)獲取計算機價格

 

題目:

1)要求使用ArrayList存儲計算機對象,

形如:ArrayList<Computer> cList = new ArrayList<Computer> ();

 

2)爲ArrayList對象(例如:上面的cList)添加3個元素。

 

3)模擬用戶輸入(Scanner對象)獲取對應的Computer信息,並且輸出具體的參數。

 

4)遍歷輸出ArrayList中的Computer,同時輸出Computer的詳細信息。

 

 * @author LENOVO

 *

 */

 

public class Computer {

   int count;

   int CPUSize;

   int mainboardSize;

   double hardboardSize;

   double rom;

   String graphicsCard;

   double prize;

   public Computer(int count,int CPUSize,int mainboardSize,double hardboardSize,double rom

         ,  String graphicsCard,double prize){

      this.count=count;

      this.CPUSize=CPUSize;

      this.mainboardSize= mainboardSize;

      this.hardboardSize=hardboardSize;

      this.rom=rom;

      this.graphicsCard=graphicsCard;

      this.prize=prize;

           

     

   }

   public int getCount() {

      return count;

   }

   public void setCount(int count) {

      this.count = count;

   }

   public int getCPUSize() {

      return CPUSize;

   }

   public void setCPUSize(int cPUSize) {

      CPUSize = cPUSize;

   }

   public int getMainboardSize() {

      return mainboardSize;

   }

   public void setMainboardSize(int mainboardSize) {

      this.mainboardSize = mainboardSize;

   }

   public double getHardboardSize() {

      return hardboardSize;

   }

   public void setHardboardSize(double hardboardSize) {

      this.hardboardSize = hardboardSize;

   }

   public double getRom() {

      return rom;

   }

   public void setRom(double rom) {

      this.rom = rom;

   }

   public String getGraphicsCard() {

      return graphicsCard;

   }

   public void setGraphicsCard(String graphicsCard) {

      this.graphicsCard = graphicsCard;

   }

   public double getPrize() {

      return prize;

   }

   public void setPrize(double prize) {

      this.prize = prize;

   }

   public static void main(String[]args){

      ArrayList<Computer> alist=new ArrayList<Computer>();

      alist.add(new Computer(1,3,5,3.2,99.6,"ab",20.9));

      alist.add(new Computer(2,3,5,3.2,99.6,"abc",20.9));

      alist.add(new Computer(3,3,5,3.2,99.6,"abcd",20.9));

      System.out.println("請輸入您想了解的編號:");

      Scanner scanner=new Scanner(System.in);

      int a=scanner.nextInt();

      System.out.println("輸出第"+a+"個電腦的信息!!");

      System.out.println("編號是:"+alist.get(a).getCount());

      System.out.println("CPU型號是:"+alist.get(a).getCPUSize());

      System.out.println("主板型號是:"+alist.get(a).getMainboardSize());

      System.out.println("硬盤大小是:"+alist.get(a).getHardboardSize());

      System.out.println("內存大小是:"+alist.get(a).getRom());

      System.out.println("顯卡型號是:"+alist.get(a).getGraphicsCard());

      System.out.println("價格是:"+alist.get(a).getPrize());

      System.out.println("\n\n遍歷輸出ArrayList中的Computer,同時輸出Computer的詳細信息");

      for(int i=0;i<alist.size();i++){

         System.out.println("輸出第"+(i+1)+"個電腦的信息!!");

         System.out.println("編號是:"+alist.get(a).getCount());

         System.out.println("CPU型號是:"+alist.get(a).getCPUSize());

         System.out.println("主板型號是:"+alist.get(a).getMainboardSize());

         System.out.println("硬盤大小是:"+alist.get(a).getHardboardSize());

         System.out.println("內存大小是:"+alist.get(a).getRom());

         System.out.println("顯卡型號是:"+alist.get(a).getGraphicsCard());

         System.out.println("價格是:"+alist.get(a).getPrize());

         System.out.println("編號是:"+alist.get(a).getCount());

         System.out.println("CPU型號是:"+alist.get(a).getCPUSize());

         System.out.println("主板型號是:"+alist.get(a).getMainboardSize());

         System.out.println("硬盤大小是:"+alist.get(a).getHardboardSize());

         System.out.println("內存大小是:"+alist.get(a).getRom());

         System.out.println("顯卡型號是:"+alist.get(a).getGraphicsCard());

         System.out.println("價格是:"+alist.get(a).getPrize());

      }

     

   }

}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章