顯示具有 第七章 標籤的文章。 顯示所有文章
顯示具有 第七章 標籤的文章。 顯示所有文章

2017年6月19日 星期一

第七章 陣列分割

題目:字串的Split("分割字串")法,可分割字串為一個陣列。Ex array的值"d,e,f",則array.split(",")會回傳{"a","b","c"}
請使用者輸入一字串,內容含有逗號分開的多項整數,將此分隔為陣列,然後依數值大小做遞增排列,再以逗號分開並顯示出來


import java.io.*;
public class HomeWork0710 {

public static void main(String[] args) throws IOException {
BufferedReader br = new
BufferedReader(new InputStreamReader(System.in));

System.out.println("請輸入以逗號分隔的多項整數:");
String str =br.readLine();
String []arr=str.split(",");//分割後存入陣列

int[] data=new int[arr.length];
    for (int i=0;i<arr.length;i++){
      int temp=Integer.parseInt(arr[i]);
      data[i]+=temp;
    }
    /**將陣列內容轉換,並
            另存成另一個Int格式的陣列  */
   
    System.out.println("輸入的資料");
   
    for(int j=0;j<data.length;j++){
    System.out.print(data[j]+" ");
    }//印出輸入的資料
   
    System.out.println();
    int temp=0;
    for(int i=0;i<data.length-1;i++)
    for(int j=0;j<data.length-i-1;j++){
    if(data[j]>data[j+1]){
    temp=data[j];
    data[j]=data[j+1];
    data[j+1]=temp;  
    }
    }
   
    System.out.println("輸出的資料");
   
    for(int j=0;j<data.length-1;j++){
    System.out.print(data[j]+", ");
    }
    System.out.print(data[data.length-1]);
//排序後的資料
}
}

第七章 氣泡排序法 XOR版 遞減版


public class HomeWork0709 {
public static void main(String[] argv){

int []array=new int[argv.length];

for(int i=0;i<argv.length;i++){
array[i]=Integer.parseInt(argv[i]);
System.out.print(array[i]+" ");
}
System.out.println();

for (int i=0;i<array.length-1;i++){
for (int j = 0; j < array.length-1-i; j++){
if(array[j]<array[j+1]){
array[j]=array[j]^array[j+1];
array[j+1]=array[j]^array[j+1];
array[j]=array[j]^array[j+1];
}//使用XOR交換,未使用到變數儲存變數
}
}//遞減排序,由大排到小(由左到右)排序


for(int j=0;j<array.length;j++){
System.out.print(array[j]+ " ");
}
}
}

第七章 停車場計費

題目:
使用二維陣列儲存時段與費率
並使用命令提示列傳入停車時數

1hr以內 30元/hour
2hr以內 50元/hours
3hr以內 70元/hours
5hr以內 100元/hours
7hr以內 120元/hours
超過7hr 130元/hours

import java.util.Scanner;
public class HomeWork0703 {

public static void main(String[] args) {

int[]hoursTable ={0,1,2,3,5,7};//0不可以設定成1,否則無法正常計算
int[]feeTable= {30,50,70,100,120,130};

Scanner sc=new Scanner(System.in);
int hours=0;
hours=sc.nextInt();

int i =hoursTable.length-1;
int fee=0;

while(i>0){
if(hoursTable[i]<hours)
break;
i--;
}

while(i>=0){
fee+=(hours-hoursTable[i])*feeTable[i];
hours=hoursTable[i];
i--;
}

System.out.print(fee);
sc.close();
}
}


第七章 10個字串存入10個陣列

題目:使用者輸入10個資料,之後由後往前輸出每筆資料,並用逗號隔開

import java.util.Scanner;
public class HomeWork0702 {

public static void main(String[] argv) {

Scanner kbd = new Scanner(System.in);

System.out.println("請輸入10個字串");

String[] str = new String[10];//建立儲存10個字串的陣列


for(int i = 0; i < str.length; i++){
System.out.println("請輸入第" + (i+1)  + "個字串");
str[i] = kbd.nextLine();
}

for(int i = 0; i < str.length; i++){
System.out.print(str[i] + " ");
}
kbd.close();

}

}