/**
* 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,設置兩個成員變量x和y,分別表示該點的兩個座標)
創建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());
}
}
}