星期四, 6月 02, 2011

20110602 java 練習小記

package chapter7;
public class Sample1 {
 public static void main(String[] args) {
  //宣告一個陣列, 類型為 Integer, 陣列名稱為 test  int test[];
  //產生一個陣列, 他的內容有5個變數  test = new int[5];
  //接下來根據索引值將變數內容存入陣列, 索引值從0開始  test[0] = 80;
  test[1] = 60;
  test[2] = 22;
  test[3] = 50;
  test[4] = 75;
 
  //列出 陣列的內容  for ( int i=0; i<5; i++)
  {
   //索引從0開始, 所以要記得+1   System.out.println("第"+(i+1)+"人的分數是"+test[i]+"分");
  }
  

 }
}

package chapter7;
import java.io.*;
public class Sample2 {

 public static void main(String[] args) throws IOException
 {
  System.out.println("請輸入考試人數:");
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  String str = br.readLine();
  int num = Integer.parseInt(str);
 
  int test[];
  //這邊利用剛剛輸入值來指定陣列內的數量  test = new int[num];
 
  System.out.println("請輸入考試的分數:");
  //這邊利用 陣列的索引值不可以超過陣列的長度,
  //使用 for 迴圈來填入變數的值
  for (int i=0; i < num; i++)
  {
   str = br.readLine();
   int tmp = Integer.parseInt(str);
   test[i] = tmp;
  }
  //利用 for 迴圈來列出陣列的值  for (int i=0; i<num; i++)
  {
   System.out.println("第"+(i+1)+"個考試的分數是"+test[i]+"分");
  }

 }
}

package chapter7;
public class Sample3 {

 public static void main(String[] args)
 {
  int test[] = new int[5];
 
  test[0] = 80;
  test[1] = 60;
  test[2] = 22;
  test[3] = 50;
  test[4] = 75;
 
  for (int i=0; i<5; i++)
  {
   System.out.println("第"+(i+1)+"個分數是"+test[i]+"分");
  }

 }
}

package chapter7;
public class Sample4 {
 public static void main(String[] args) {
  //利用大括號的方式指定陣列內的值
  //陣列也會依照裡面資料的數量來設定最大值
  int test[] = {80,60,22,50,75};
 
  for (int i=0; i < 5; i++)
  {
   System.out.println("第"+(i+1)+"個分數是"+test[i]+"分");
  }

 }
}

package chapter7;
public class Sample5 {
 public static void main(String[] args) {
  int test1[];
  test1 = new int[3];
  System.out.println("宣告陣列test1");
  System.out.println("確保陣列元素");
  //宣告變數的值到陣列  test1[0] = 80;
  test1[1] = 60;
  test1[2] = 22;
 
  int test2[];
  System.out.println("宣告陣列 test2");
 
  test2 = test1;
  System.out.println("將test1的值指定給test2");
 
  for (int i=0; i< 3; i++)
  {
   System.out.println("第"+(i+1)+"個分數在test1為"+test1[i]+"分");
  }
  for (int i=0; i < 3; i++)
  {
   System.out.println("第"+(i+1)+"個分數在test2為"+test2[i]+"分");
  }
  

 }
}

package chapter7;
public class Sample6 {
 public static void main(String[] args) {
  int test1[];
  test1 = new int[3];
  System.out.println("宣告test1");
  System.out.println("輸入陣列內容");
 
  test1[0] = 80;
  test1[1] = 60;
  test1[2] = 22;
 
  int test2[];
  System.out.println("宣告test2");
 
  test2 = test1;
  System.out.println("將test1 指定給test2");
 
  for ( int i=0; i< 3; i++)
  {
   System.out.println("第"+(i+1)+"個分數在test1為"+test1[i]+"分");
  }
  for ( int i=0; i< 3; i++)
  {
   System.out.println("第"+(i+1)+"個分數在test2為"+test2[i]+"分");
  }
  //更改變數內的值  test1[2] = 100;
  System.out.println("變更第三人的資料");
  //使用 for 迴圈就會發現兩個陣列的參考值都會產生變化
  //也就是說, 是兩個陣列用同一份資料
  for ( int i=0; i< 3; i++)
  {
   System.out.println("第"+(i+1)+"個分數在test1為"+test1[i]+"分");
  }
  for ( int i=0; i< 3; i++)
  {
   System.out.println("第"+(i+1)+"個分數在test2為"+test2[i]+"分");
  }

 }
}

package chapter7;
public class Sample7 {
 public static void main(String[] args) {
  //宣告一個陣列  int test[] = {80,60,22,50,75};
 
  for ( int i=0; i<5; i++)
  {
   System.out.println("第"+(i+1)+"個人的分數是"+test[i]+"分");
  }
  //這邊使用     陣列名稱.length 取出陣列長度  System.out.println("考試人數有"+test.length+"人");

 }
}

package chapter7;
public class Sample8 {
 public static void main(String[] args) {
  int test[] = {80,60,22,50,75};
 
  for ( int i=0; i < test.length; i++)
  {
   System.out.println("第"+(i+1)+"個分數為"+test[i]+"分");
  }
  System.out.println("考試人數為"+test.length+"人");

 }
}

package chapter7;
import java.io.*;
public class Sample9 {

 public static void main(String[] args) throws IOException
 {
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  int test[] = new int[5];
  System.out.println("請輸入"+test.length+"個人的分數");
 
  for (int i=0; i < test.length; i++)
  {
   String str = br.readLine();
   //這邊直接宣告陣列的索引值, 然後利用 Integer.parseInt的方式將輸入值轉進來   test[i] =  Integer.parseInt(str);
  }
  //使用氣泡排序法進行排序  for (int s=0; s < test.length-1; s++)
  {
   System.out.println("s="+s);
   //列出下一個變數值   for(int t=s+1; t < test.length; t++)
   {
    System.out.println("t="+t);
    System.out.println("test["+s+"]="+test[s]);
    System.out.println("test["+t+"]="+test[t]);
    System.out.println("判斷後面的數字有沒有大於前面的");
    if( test[t] > test[s])
    {
     System.out.println("後面的數字有大於前一個");
     int tmp = test[t];
     System.out.println("***tmp="+tmp);
     System.out.println("***test["+s+"]="+test[s]);
     System.out.println("***test["+t+"]="+test[t]);
     System.out.println("*****test[t]=test[s]");
     test[t] = test[s];
     System.out.println("*****test["+s+"]="+test[s]);
     System.out.println("*****test["+t+"]="+test[t]);
     System.out.println("*******test[s]=tmp");
     test[s] = tmp;
     System.out.println("*******test["+s+"]="+test[s]);
     System.out.println("*******test["+t+"]="+test[t]);
    }
    else
    {
     System.out.println("後面的數字並沒有大於前一個");
    }
   }
  }
 
  for( int j=0; j < test.length; j++)
  {
   System.out.println("第"+(j+1)+"名的分數是"+test[j]+"分");
  }

 }
}

package chapter7;
public class Sample10 {
 public static void main(String[] args) {
  //宣告一個二微陣列  int test[] [];
  //這邊用的例子是兩個科目, 五個成績  test = new int [2] [5];
 
  //將變數的值帶入陣列  test[0][0] = 80;
  test[0][1] = 60;
  test[0][2] = 22;
  test[0][3] = 50;
  test[0][4] = 75;
  test[1][0] = 90;
  test[1][1] = 55;
  test[1][2] = 68;
  test[1][3] = 72;
  test[1][4] = 58;
 
  //輸入陣列內的值
  for (int i=0; i<5; i++)
  {
   //如果陣列的第一維是國語的成績   System.out.println("第"+(i+1)+"個人國語的成績為"+test[0][i]+"分");
   //如果陣列的第二維是數學的成績   System.out.println("第"+(i+1)+"個人數學的成績為"+test[1][i]+"分");
  }
  

 }
}

package chapter7;
public class Sample11 {
 public static void main(String[] args) {
  //宣告一個陣列 test 並且指定值, 其陣列長度並不一致  int test [][] =
  {
    //第1維有4個變數, 第2維有4個,第3維有3個    {80,60,22,50},{90,55,68,72},{33,75,63}
  };
 
  for (int i=0; i < test.length; i++)
  {
   //利用 test[].length 的方式列出陣列長度   System.out.println("第"+(i+1)+"個陣列元素長度是"+test[i].length);
  }
  System.out.println("總共陣列長度為"+test.length);

 }
}

package chapter7;
import java.io.*;
public class Homework7_4 {

 public static void main(String[] args) throws IOException
 {
  System.out.println("請輸入5個人的分數");
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
  //這邊要用陣列來宣告但是沒有熟悉  int test[] = new int[5];
 
  for (int i=0; i < test.length;i++)
  {
   String str = br.readLine();
   //宣告一個 integer 的tmp 將輸入的成績轉成整數   int tmp = Integer.parseInt(str);
   //將成績輸入陣列   test[i] = tmp;
  }
 
  for (int i=0; i< test.length; i++)
  {
   System.out.println("第"+(i+1)+"個人的成績是"+test[i]+"分");
  }
  int max = 0;
  System.out.println("初始max最大值="+max);
 
  for (int i=0; i<test.length;i++)
  {
   System.out.println("i="+i);
   System.out.println("max="+max);
   System.out.println("test["+i+"]="+test[i]);
   if(test[i] > max)
   {
    System.out.println("test["+i+"] 大於目前的最大值");
    max = test[i];
    System.out.println("改寫最大值");
    System.out.println("max="+max);
   }
   else
   {
    System.out.println("test["+i+"] 沒有大於目前的最大值");
   }
  }
  System.out.println("最高分為"+max+"分");

 }
}

沒有留言: