哈哈,偶然翻到大學業餘時間做的50道基礎算法題,簡單的分享給入門的同學們,大牛不要噴。
----------------------第一題---------------------------
--題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數爲多少?
public static void main(String[] args)
{
System.out.println("請輸入月份");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
System.out.println("兔子的對數爲"+getRabbitNum(num));
}
//根據兔子數規律找到遞歸方法,n代表月份
public static int getRabbitNum(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return getRabbitNum(n - 1) + getRabbitNum(n - 2);
}
}
----------------------第二題---------------------------
--判斷101-200之間有多少個素數,並輸出所有素數。
public static void main(String[] args)
{
int num = 101;
int temp = 0;
for (int i = 101; i <= 200; i++)
{
for (int j = 2; j < num; j++)
{
if(num % j == 0)
{
temp =1;
break;
}
}
if(temp == 1)
{
temp=0;
}
else
{
System.out.println(num);
}
num++;
}
}
----------------------第三題---------------------------
--題目:打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個 "水仙花數 ",因爲153=1的三次方+5的三次方+3的三次方
public static void main(String[] args)
{
for (int i = 100; i < 1000; i++)
{
int getNum1 = i/100;
int getNum2 = i/10%10;
int getNum3 = i%10;
if(Math.pow(getNum1, 3)+Math.pow(getNum2, 3)+Math.pow(getNum3, 3)==i)
{
System.out.println(i);
}
}
}
----------------------第四題---------------------------
--題目:題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
public static void main(String[] args)
{
System.out.println("請輸入一個你要分解的數");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
for (int i = 2; i <=n; i++)
{
if(i==n)
{
System.out.println(i);
}
if(n%i == 0)
{
n=n/i;
System.out.println(i);
i =2; //重新賦值i,讓程序重新開始循環
}
}
}
----------------------第五題---------------------------
--題目:利用條件運算符的嵌套來完成此題:學習成績> =90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。 。
public static void main(String[] args)
{
System.out.println("請輸入你的成績");
Scanner input = new Scanner(System.in);
int getScore = input.nextInt();
if(getScore>90)
{
System.out.println("A");
}
else if(getScore>60 && getScore<=89)
{
System.out.println("B");
}
else if(getScore < 60)
{
System.out.println("C");
}
}
----------------------第六題---------------------------
題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。
public static void main(String[] args)
{
System.out.println("請輸入兩個數:");
Scanner input = new Scanner(System.in);
int getNum1 = input.nextInt();
int getNum2 = input.nextInt();
if(getNum1!=0 && getNum2 !=0)
{
do
{
if(getNum1>getNum2)
{
int temp =0;
temp = getNum2;
getNum2 = getNum1/getNum2;
getNum1 = temp;
}
if(getNum1<getNum2)
{
int temp =0;
temp = getNum1;
getNum1 = getNum2/getNum1;
getNum2 = temp;
}
}
while(getNum2==0 || getNum1 ==0);
System.out.println(getNum1);
}
}
----------------------第七題---------------------------
題目:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("請輸入一個字符串:");
String getStr = input.nextLine();
int Blank = 0,Digit = 0,Letter = 0,Other = 0;
for (int i = 0; i < getStr.length(); i++)
{
char c = getStr.charAt(i);
if(c == ' ')
{
Blank++;
}
else if(Character.isDigit(c))
{
Digit++;
}
else if(Character.isLetter(c))
{
Letter++;
}
else
{
Other++;
}
}
System.out.println("此字符串共有"+Blank+"個空格!");
System.out.println("此字符串共有"+Digit+"個數字!");
System.out.println("此字符串共有"+Letter+"個字母!");
System.out.println("其他字符有"+Other+"個");
}
----------------------第十題---------------------------
題目:一球從100米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在 第10次落地時,共經過多少米?第10次反彈多高?
public static void main(String[] args)
{
double x=100;
double s =0;
for (int i = 0; i < 10; i++)
{
s = s+x*2;
x=x/2;
}
System.out.println("答:共經過"+(s-100)+"米");
System.out.println("答:反彈的高度爲"+x+"米");
}
----------------------第十一題---------------------------
題目:有1、2、3、4四個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?
public static void main(String[] args)
{
int s[] ={1,2,3,4};
int num1 = 0,num2 =0,num3 =0;
for (int i = 0; i < s.length; i++)
{
num1 =s[i];
for (int j = 0; j < s.length; j++)
{
num2 = s[j];
if(num2==num1)
{
continue;
}
for (int j2 = 0; j2 < s.length; j2++)
{
num3 = s[j2];
if(num3==num1)
{
continue;
}
if(num3==num2)
{
continue;
}
System.out.print(num1);
System.out.print(num2);
System.out.print(num3);
System.out.println();
}
}
}
}
----------------------第十二題---------------------------
題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤,求應發放獎金總數?
public static void main(String[] args)
{
long i;
double bonus,bon1,bon2,bon3,bon4,bon5;
bon1 = 100000*0.1;
bon2=bon1+100000*0.075;
bon3=bon2+200000*0.05;
bon4=bon3+200000*0.03;
bon5=bon4+400000*0.015;
System.out.println("請輸入利潤i:");
Scanner input = new Scanner(System.in);
i=input.nextLong();
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bon1+(i-100000)*0.075;
else if(i<=400000)
bonus=bon2+(i-200000)*0.05;
else if(i<=600000)
bonus=bon3+(i-400000)*0.03;
else if(i<=1000000)
bonus=bon4+(i-600000)*0.015;
else
bonus=bon5+(i-1000000)*0.01;
System.out.println("獎金是"+bonus);
}
----------------------第十三題---------------------------
題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
for(int i=1;i<100000;i++)
{
//判斷開平方根出來的數小數部分是否爲0,
if(Math.sqrt((i+100))%1==0 && Math.sqrt((i+100+168))%1==0)
{
System.out.println(i);
}
}
----------------------第十四題---------------------------
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
public static void main(String[] args)
{
int y,m,d;
int sum=0;
int feb=28;
Scanner in = new Scanner(System.in);
System.out.print("請輸入年份:");
y = in.nextInt();
System.out.print("請輸入月份:");
m = in.nextInt();
System.out.print("請輸入幾號:");
d = in.nextInt();
if((y%4==0 && y%100!=0) || y%400==0)
{
feb = 29;
}
switch(m)
{
case 1:
sum = d;
break;
case 2:
sum = 31 + d;
break;
case 3:
sum = 31+feb+d;
break;
case 4:
sum = 31+feb+31+d;
break;
case 5:
sum = 31+feb+31+30+d;
break;
case 6:
sum = 31+feb+31+30+31+d;
break;
case 7:
sum = 31+feb+31+30+31+30+d;
break;
case 8:
sum = 31+feb+31+30+31+30+31+d;
break;
case 9:
sum = 31+feb+31+30+31+30+31+31+d;
break;
case 10:
sum = 31+feb+31+30+31+30+31+31+30+d;
break;
case 11:
sum = 31+feb+31+30+31+30+31+31+30+31+d;
break;
case 12:
sum = 31+feb+31+30+31+30+31+31+30+31+30+d;
}
System.out.println(y+" 年 "+m+" 月 " + d + "號是今年的第"+sum+"天");
}
----------------------第十五題---------------------------
題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。
public static void main(String[] args)
{
int getNum[] = new int[3];
Scanner input = new Scanner(System.in);
for (int i = 0; i < 3; i++)
{
System.out.println("請輸入第"+(i+1)+"個數");
getNum[i]= input.nextInt();
}
for (int i = 0; i < getNum.length; i++)
{
for (int j = i+1; j < getNum.length; j++)
{
if(getNum[i]>getNum[j])
{
int temp;
temp =getNum[i];
getNum[i] = getNum[j];
getNum[j] = temp;
}
}
}
System.out.print("x,y,z:由小到大排列爲:");
for (int i = 0; i < getNum.length; i++)
{
System.out.print(getNum[i]+" ");
}
}
----------------------第十六題---------------------------
題目:輸出9*9口訣。
public static void main(String[] args)
{
for (int i = 1; i <10; i++)
{
for (int j = i; j <10; j++)
{
System.out.print(i+"*"+j+"="+i*j+" ");
}
System.out.println("");
}
}
----------------------第十七題---------------------------
題目:猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個 第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以後每天早上都吃了前一天剩下 的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。
public static void main(String[] args)
{
int n = 1;
for (int i = 1; i <= 10; i++)
{
n = n*2+1;
}
System.out.println(n);
}
----------------------第十八題---------------------------
題目:兩個乒乓球隊進行比賽,各出三人。甲隊爲a,b,c三人,乙隊爲x,y,z三人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。
public static void main(String[] args)
{
String[] temp1 = {"a","b","c"};
String[] temp2 = {"x","y","z"};
for (int i = 0; i < temp1.length; i++)
{
for (int j = 0; j < temp2.length; j++)
{
if(i==0 && j ==0)
{
continue;
}
else if((i==2&&j==0)||(i==2&&j==2))
{
continue;
}
else
{
System.out.println( temp1[i] + " " + temp2[j]);
}
}
}
}
----------------------第十九題---------------------------
題目:打印出如下圖案(菱形)
*
***
*****
*******
*****
***
*
public static void main(String[] args)
{
for (int i = 0; i < 4; i++)
{
for (int j = 4; j > i+1; j--)
{
System.out.print(" ");
}
for (int j = 0; j < 2*i +1; j++)
{
System.out.print("*");
}
System.out.println("");
}
for (int i = 0; i < 3; i++)
{
for (int j = i+1; j > 0; j--)
{
System.out.print(" ");
}
for (int j = 5-(i*2); j > 0; j--)
{
System.out.print("*");
}
System.out.println("");
}
}
----------------------第二十題---------------------------
題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。
public static void main(String[] args)
{
double sum = 0; // 和的變量
double a = 1.0; // 分母
double b = 2.0; // 分子
for (int i = 1; i <= 20; i++)
{
sum = sum + b/a;
double c = a;
b = a+b;
a = c;
}
System.out.println(sum);
}
----------------------第二十一題---------------------------
題目:求1+2!+3!+...+20!的和
public static void main(String[] args)
{
int sub = 0; //和的變量
for(int i = 1; i <=20; i++)
{
int multiplySub =1; // 定義每個數的累乘
for (int j = i; j >=1; j--)
{
multiplySub = multiplySub * j; //每個數的累乘的結果
}
sub = multiplySub + sub; //所有數累乘後相加的結果
}
System.out.println(sub);
}
----------------------第二十二題---------------------------
題目:利用遞歸方法求5!
public static void main(String[] args)
{
int x = 5;
int result = Sub(x);
System.out.println("" + x + "! = " + result);
}
public static int Sub(int x)
{ /*階乘算法*/
if (x > 1)
return (x * Sub(x - 1)); /*遞歸*/
else
return 1;
}
----------------------第二十三題---------------------------
題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最後問第一個人,他說是10歲。請問第五個人多大?
public static void main(String[] args)
{
int yearold = 10;
for (int i = 1; i < 5; i++)
{
yearold = yearold +2;
}
System.out.println("第五個人的年齡是:"+yearold);
}
----------------------第二十四題---------------------------
題目:給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。
public static void main(String[] args)
{
char solvgetNum[] = new char [5];
System.out.println("請輸入一個不多於5位的正整數:");
Scanner input = new Scanner(System.in);
String getNum = input.next();
System.out.println(getNum.length());
for (int i = 0; i < getNum.length(); i++)
{
solvgetNum[i] = getNum.charAt(i);
}
for (int i = getNum.length()-1; i >= 0; i--)
{
System.out.println(solvgetNum[i]);
}
}
----------------------第二十五題---------------------------
題目:一個5位數,判斷它是不是迴文數。即12321是迴文數,個位與萬位相同,十位與千位相同。
public static void main(String args[])
{
int[] GetNum = new int[5];
Scanner input =new Scanner(System.in);
int num = input.nextInt();
//萬位
GetNum[0] = num/10000;
//千位
GetNum[1] = (num-GetNum[0]*10000)/1000;
//百位
GetNum[2] = (num-GetNum[0]*10000-GetNum[1]*1000)/100;
//十位
GetNum[3] = (num-GetNum[0]*10000-GetNum[1]*1000-GetNum[2]*100)/10;
//個位
GetNum[4] = (num-GetNum[0]*10000-GetNum[1]*1000-GetNum[2]*100-GetNum[3]*10)/1;
if(GetNum[0]+2==GetNum[1]+1&&GetNum[2]==GetNum[1]+1&&GetNum[2]==(GetNum[3]+1)&&(GetNum[3]+1)==(GetNum[4]+2))
{
System.out.println("是迴文數");
}
else
{
System.out.println("不是迴文數");
}
}
----------------------第二十六題---------------------------
題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續 判斷第二個字母。
public static void main(String args[])
{
System.out.println("請輸入星期幾的字母");
Scanner input = new Scanner(System.in);
String getDay = input.next();
char getDayFirst1 = getDay.charAt(0);
switch (getDayFirst1)
{
case 'y':
System.out.println("今天是星期一");
break;
case 'e':
System.out.println("今天是星期二");
break;
case 's':
char getDayFirst2 = getDay.charAt(1);
if(getDayFirst2 == 'a')
{
System.out.println("今天是星期三");
}
else if(getDayFirst2 == 'i')
{
System.out.println("今天是星期四");
}
else
{
System.out.println("你的輸入有誤");
}
break;
case 'w':
System.out.println("今天是星期五");
break;
case 'l':
System.out.println("今天是星期六");
break;
case 't':
System.out.println("今天是星期天");
break;
default:
System.out.println("你的輸入有誤");
break;
}
}
----------------------第二十七題---------------------------
題目:求100之內的素數
public static void main(String[] args)
{
int num = 1;
int temp = 0;
for (int i = 101; i <= 200; i++)
{
for (int j = 2; j < num; j++)
{
if(num % j == 0)
{
temp =1;
break;
}
}
if(temp == 1)
{
temp=0;
}
else
{
System.out.println(num);
}
num++;
}
}
----------------------第二十八題---------------------------
題目:對10個數進行排序
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int s[] = new int[10];
for (int i = 0; i < s.length; i++)
{
System.out.println("請輸入第"+(i+1)+"個數");
s[i] = input.nextInt();
}
for (int i = 0; i < s.length; i++)
{
for (int j = i+1; j < s.length; j++)
{
if(s[i]>s[j])
{
int temp;
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
for (int i = 0; i < s.length; i++)
{
System.out.println(s[i]);
}
}
----------------------第三十一題---------------------------
題目:對10個數進行排序
public static void main(String[] args)
{
int s[] = {1,2,3,4,5,6,7,8,9,10};
for (int i= s.length-1; i >=0; i--)
{
System.out.println(s[i]);
}
}
----------------------第三十三題---------------------------
題目:打印出楊輝三角形(要求打印出10行如下圖)
public static void main(String[] args)
{
int i,j;
int a[][] = new int[10][10];
for(i=0;i<10;i++)
{
a[i][i]=1;
a[i][0]=1;
}
for(i=2;i<10;i++)
{
for(j=1;j<=i-1;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=0;i<10;i++)
{
for (int k = i; k < 10; k++)
{
System.out.print(" ");
}
for(j=0;j<=i;j++)
{
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
----------------------第三十四題---------------------------
題目:輸入3個數a,b,c,按大小順序輸出。
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int c = input.nextInt();
if(a>b)
{
int temp = b;
b = a;
a = temp;
}
if(a>c)
{
int temp = a;
a = c;
c = temp;
}
if(b>c)
{
int temp = b;
b = c;
c = temp;
}
System.out.print(a+" ");
System.out.print(b+" ");
System.out.print(c+" " );
}
----------------------第三十五題---------------------------
題目:輸入數組,最大的與第一個元素交換,最小的與最後一個元素交換,輸出數組。
public static void main(String args[])
{
//定義一個數組
int[] num4 = new int[5];
//從鍵盤輸入5個數
Scanner input = new Scanner(System.in);
System.out.println("請輸入5個數");
for (int i = 0; i < num4.length; i++)
{
num4[i] = input.nextInt();
}
//求出這5個數的最大值和最小值
int max = num4[0];
int min = num4[0];
for (int i = 0;i < num4.length; i++)
{
if (num4[i] > max)
{
max = num4[i];
}
if (num4[i] < min)
{
min = num4[i];
}
}
//如果數組中哪個數等於最大值(最小值),這個數就和第一個(最後一個)元素換位子
for (int i = 0; i < num4.length; i++)
{
if(num4[i] == max)
{
int temp1;
temp1 = num4[i];
num4[i] = num4[0];
num4[0] = temp1;
}
if (num4[i] == min)
{
int temp2;
temp2 = num4[i];
num4[i] = num4[4];
num4[4] = temp2;
}
}
//輸出交換後的數
System.out.println("交換後");
for (int i = 0; i < num4.length; i++)
{
System.out.println(num4[i]);
}
}
----------------------第三十八題---------------------------
題目:寫一個函數,求一個字符串的長度,在main函數中輸入字符串,並輸出其長度。
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String str= input.next();
System.out.println(str.length());
}
----------------------第三十九題---------------------------
題目:編寫一個函數,輸入n爲偶數時,調用函數求1/2+1/4+...+1/n,當輸入n爲奇數時,調用函數1/1+1/3+...+1/n
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int n= input.nextInt();
double result = 0;
if(n%2==0)
{
for (double i = 2; i <= n; i=i+2)
{
result = result +1/i;
}
}
else if(n%2==1)
{
for (double i = 1; i <= n; i=i+2)
{
result = result +1/i;
}
}
System.out.println(result);
}
----------------------第四十題---------------------------
題目:字符串排序。
public static void main(String[] args)
{
String str[] = new String[5];
Scanner input = new Scanner(System.in);
for (int i = 0; i < str.length; i++)
{
System.out.println("請輸入第"+(i+1)+"個字符串");
str[i] = input.next();
}
Arrays.sort(str);
for (int i = 0; i < str.length; i++)
{
System.out.println(str[i]+" ");
}
}
----------------------第四十一題---------------------------
題目:海灘上有一堆桃子,五隻猴子來分。第一隻猴子把這堆桃子憑據分爲五份,多了一個,這隻猴子把多的一個扔入海中,拿走了一份。第二隻猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五隻猴子都是這樣做的,問海灘上原來最少有多少個桃子?
public static void main(String[] args)
{
int i = 4, m, j=0, count;
while(true)
{
count = 0; m = i;
for(int k=0;k<5;k++)
{
j = m/4*5+1; //i代表下一個猴子能夠看到的數,j 代表當前猴子能夠看到的數
m = j;
if(j % 4 == 0)
count++;
else
break;
}
if(count == 4)
{
System.out.println("一開始個數爲:"+j);
break;
}
i += 4;
}
}
----------------------第四十三題---------------------------
題目:求0—7所能組成的奇數個數。
//組成1位數是4個。
//組成2位數是7*4個。
//組成3位數是7*8*4個。
//組成4位數是7*8*8*4個。
//......
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("請輸入你要求奇數的位數");
int n = input.nextInt();
if(n == 1)
{
System.out.println(4);
}
else if(n == 2)
{
System.out.println(4*7);
}
else
{
System.out.println(4*7*Math.pow(2,3*(n-2)));
}
}
----------------------第四十六題---------------------------
題目:兩個字符串連接程序
public static void main(String[] args)
{
String a = "adasdasdasdas";
String b = "fsdfdsfdsfdsfds";
String c = a+b;
System.out.println(c);
}
----------------------第四十八題---------------------------
題目:某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然後用和除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換。
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("請輸入 一個四位數:");
char c[] = new char[4];
String str = input.next();
for (int i = 0; i < c.length; i++)
{
c[i] = str.charAt(i);
System.out.println(c[i]);
}
int newstr[] = new int[4];
for (int i = 0; i < newstr.length; i++)
{
newstr[i] = (c[i]+5)%10;
}
int temp;
temp = newstr[0];
newstr[0] = newstr[3];
newstr[3] = temp;
int temp1;
temp1 = newstr[1];
newstr[1] = newstr[2];
newstr[2] = temp1;
for (int i = 0; i < newstr.length; i++)
{
System.out.print(newstr[i]);
}
}
----------------------第四十九題---------------------------
題目:計算字符串中子串出現的次數
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("請輸入一個字符串:");
String getStr = input.nextLine();
int Blank = 0,Digit = 0,Letter = 0,Other = 0;
for (int i = 0; i < getStr.length(); i++)
{
char c = getStr.charAt(i);
if(c == ' ')
{
Blank++;
}
else if(Character.isDigit(c))
{
Digit++;u v
}
else if(Character.isLetter(c))
{
Letter++;
}
else
{
Other++;
}
}
System.out.println("此字符串共有"+Blank+"個空格!");
System.out.println("此字符串共有"+Digit+"個數字!");
System.out.println("此字符串共有"+Letter+"個字母!");
System.out.println("其他字符有"+Other+"個");
}
----------------------第五十題---------------------------
題目:有五個學生,每個學生有3門課的成績,從鍵盤輸入以上數據(包括學生號,姓名,三門課成績),計算出平均成績,把原有的數據和計算出的平均分數存放在磁盤文件 "stud "中。
public static void main(String[] args)
{
String stud[][] = new String[5][3];
Scanner input = new Scanner(System.in);
for (int i = 0; i < stud.length; i++)
{
System.out.print("請輸入第"+(i+1)+"個同學的名字:");
String name = input.next();
for (int j = 0; j < 3; j++)
{
System.out.print("請輸入"+name+"同學的第"+(j+1)+"門課的成績:");
stud[i][j] = input.next();
}
}
for (int i = 0; i < stud.length; i++)
{
double avg = 0;
for (int j = 0; j < 3; j++)
{
System.out.print(stud[i][j]+" ");
avg= avg + Integer.parseInt(stud[i][j]);
}
System.out.print(avg/3);
System.out.println("");
}
}