1.題目:數學算式之求解 程式檔名:exam1.java
說明:請繼承 keyin1 類別,並用類別成員static BufferedReader buf,讀取math.txt檔中數學運算式,輸出數學運算式和最後運算結果值。該運算式的運算元皆介於0~10000,而運算子僅含“+”。
畫面輸出結果:
數學運算式: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,以讀取楊暉三角塔之階數a及b,按上述按鈕後,輸出該第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("錯誤");
}
}
留言列表