1.題目:數學算式之求解                                                              程式檔名exam1.java

說明:請繼承 keyin1 類別並用類別成員static BufferedReader buf,讀取math.txt檔中數學運算式,輸出數學運算式和最後運算結果值該運算式的運算元皆介於010000,而運算子僅含“+”。

 

畫面輸出結果:

 

數學運算式:1+20+800+5000

運算結果值:1821

 

 

 

import java.io.*;

class exam1 extends keyin1{

    publicstaticvoid main(String args[]) throws IOException{

        BufferedReader buf=new BufferedReader(new FileReader("math.txt"));

        String str;

        int sum=0,num=0;

        while((str=buf.readLine())!=null){

            sum=0;num=0;

            for(int i=0;i<str.length();i++){

                if(str.charAt(i)!='+'){

                    num=num*10+str.charAt(i)-48;

                }

                else{

                    sum=sum+num;

                    num=0;

                }

            }

            sum=sum+num;

            System.out.print("sum="+sum);

            System.out.println();

        }

    }

}

2.題目:楊暉三角塔(或稱巴斯卡三角型)    程式檔名test02.java

說明:請繼承 keyin2 類別並使用類別之成員static BufferedReader buf,以讀取楊暉三角塔之階數ab,按上述按鈕後,輸出該第a階到第b階之楊暉三角塔(或稱巴斯卡三角型,輸入時 a<b)。

註:第n階之楊暉三角塔:  ……

畫面輸出結果:

輸入

第一個文字方塊文字4

第一個文字方塊文字6

輸出:

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

輸入

第一個文字方塊文字0

第一個文字方塊文字10

 

0               1

1               1 1

2               1 2 1

3               1 3 3 1

4             1 4 6 4 1

( n) 5                1 5 10 10 5 1

6                1 6 15 20 15 6 1

7              1 7 21 35 35 21 7 1

8              1 8 28 56 70 56 28 8 1

9               1 9 36 84 126 126 84 36 9 1

10             1 10 45 120 210 252 210 120 45 10 1


 

import java.io.*;

publicclass exam2 {

    publicstaticvoid main(String args[])throws IOException{

        BufferedReader buf=new BufferedReader(new FileReader("paska.txt"));

        String str;

        int num=0;

        int d[]=newint[2],x=0;

        while ((str=buf.readLine())!=null)

        {          

            d[x]=Integer.parseInt(str);

            System.out.print("d["+x+"]="+d[x]+"\n");

            x++;           

        }

        int C[]=newint[11];

        int cv=0;

        C[0]=1;

        for (int i=1;i<=10;i++)

        C[i]=C[i-1]*i;     

            for (int n=d[0];n<=d[1];n++)

            {

                for (int k=0;k<=n;k++)

                {

                    cv=(C[n])/((C[k])*(C[n-k]));

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

                }

                System.out.println();

            }

    }  

}


 

3.題目:3*3的方陣相乘                                                                程式檔名test03.java

說明:請繼承 keyin3 類別並使用類別之成員static BufferedReader buf,以讀取 3*3方陣的元素讀取後進行矩陣相乘並印出。以上之輸入驗證資料,全部以繼承由檔案讀取;檔名為number.txt(格式請參閱此檔),結果顯示於畫面上,。

a11

a12

a13

b11

b12

b13

 

c11

c12

c13

a21

a22

a23

b21

b22

b23

c21

c22

c23

a31

a32

a33

b31

b32

b33

 

c31

c32

c33

矩陣內各元素相乘法則如下:

c11=a11b11+a12b21+a13b31

c12=a11b12+a12b22+a13b32

                        …

c21=a21b11+a22b21+a23b31

                        …

c33=a31b13+a32b23+a33b33

畫面輸出結果:

第一個方陣:

1      2      3

4      5      6

7      8      9

 

第二個方陣:

11    12    13

14    15    16

17    18    19

 

方陣乘積:

90 96 102

216 231 246

342 366 390

 

 


 

import java.io.*;

publicclassexam3{

     publicstaticvoid main(String args[]) throws IOException{

         BufferedReader buf=new BufferedReader(new FileReader("number.txt"));

         int A[][]=newint[3][3];

         int B[][]=newint[3][3];

         int C[][]=newint[3][3];

         System.out.println("第一個方陣:");

         for(int j=0;j<3;j++){//讀入A陣列,並列印

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

                  A[j][i]=Integer.parseInt(buf.readLine());

                  System.out.print(A[j][i]+"\t");

              }System.out.println();

         }System.out.println("第二個方陣:");

         for(int j=0;j<3;j++){//讀入B陣列,並列印

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

                  B[j][i]=Integer.parseInt(buf.readLine());

                  System.out.print(B[j][i]+"\t");

              }System.out.println();

         }System.out.println("方陣乘積:");

         for(int j=0;j<3;j++){

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

                  C[j][i]=A[j][0]*B[0][i]+A[j][1]*B[1][i]+A[j][2]*B[2][i];

                  System.out.print(C[j][i]+"\t");

              }System.out.println();

         }

     }

}


 

4.題目:使用者登入                                                          程式檔名test04.java

說明:請繼承 keyin4 類別並使用類別之成員static BufferedReader buf,以讀取帳號、密碼使用者資料檔user.txt(以文字檔格式儲存)。其內容有“使用者ID”、“密碼”。儲存方式如下:

使用者帳號    密碼

John                

12345

Mary               

56789

Tom                

13579

…                    …

…                    …

輸出:如果使用者帳號及密碼都輸入對了,則告知使用者“登入成功!!”的訊息。反之,則出現“帳號或密碼錯誤!”的訊息。

畫面輸出結果:

 

 

輸入:

使用者帳號文字方塊:John

密碼:12345

 

輸出:正確

 

 

輸入:

使用者帳號文字方塊:Mary

密碼:56789

 

輸出:正確

 

使用者帳號文字方塊:JOOO

密碼:12345

 

輸出:錯誤

 


 

import java.io.*;

publicclass exam4{

     publicstaticvoid main(String args[])throws IOException{

         BufferedReader buf=new BufferedReader(new FileReader("user.txt"));

         String user[]=new String[20];

         String pass[]=new String[20];

         String str,str1,str2;

         int i=0,flag=0;

         while((str=buf.readLine())!=null){

              user[i]=str;

              pass[i]=buf.readLine();

              System.out.println(user[i]+","+pass[i]);

              i++;

         }

         BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

         System.out.print("請輸入帳號:");

         str1=br.readLine();

         System.out.println(str1);

         System.out.print("請輸入密碼:");

         str2=br.readLine();

         System.out.println(str2);

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

              if(str1.equals(user[n])&&str2.equals(pass[n]))

                  flag=1;

         }

         if(flag==1)

              System.out.println("正確");

         else

              System.out.println("錯誤");

        

     }

}

 

 

玥君 發表在 痞客邦 PIXNET 留言(0) 人氣()