三、Java基础题目练习
T1: 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
public class T1 { public static void main(String args[]){ int score=90; if(score>=90){ System.out.println("A"); } else if(score>=60){ System.out.println("B"); } else{ System.out.println("C"); } } }
T2: 从键盘输入一个大于0的数字保存到int型变量count中,表示int型数组的个数,假设为count,然后从键盘读入count个数字,保存到一个int型数组中,最后,输出数组中所有元素的和及平均值。
public class T2 { public static void main(String[] args) { Scanner sc= new Scanner(System.in); int count=sc.nextInt(); int [] array=new int[count]; for (int i = 0; i <count ; i++) { array[i]=sc.nextInt(); } for (int i = 0; i <count ; i++) { if(suShu(array[i])){ System.out.println(" "+array[i]); } } } public static boolean suShu(int s){ for (int i = 2; i <=s ; i++) { if(s%i==0){ return false; } } return true; } }
T3: 输入两个正整数m和n,求其最大公约数和最小公倍数。
public class T3 { public static void main(String args[]){ gcdlcm a =new gcdlcm(); System.out.println("两数的最大公约数是:"+a.gcd(10, 16)); System.out.println("两数的最小公倍数是:"+a.lcm(16, 10)); } } class gcdlcm{ int gcd(int m,int n){ if(m<n){ //判断数值较大的数 int temp=n; n=m; m=temp; } if(m%n==0){ return n; } else{ m%=n; return gcd(m,n); } } int lcm(int m,int n){ int i=1; if(m<n){ //判断数值较大的数 int temp=n; n=m; m=temp; } int lcm=m; while(lcm%n!=0){ lcm=m*i; i++; } return lcm; } }
T4: 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
public class T4 { public static void main(String args[]){ int a,sum; //表示100~999 int i,j,k;//分别表示百位、十位、各位 for(a=100;a<=999;a++){ i=a/100; j=(a-i*100)/10; k=a-i*100-j*10; sum=i*i*i+j*j*j+k*k*k; //java的运算符,立方要这样写,写成i^3这样,运算不出来 //如果遇到高次的话可以使用循环算出来 if(sum==a) { System.out.println(sum); } }
T5: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少?
思路:第一个月只有一对兔子,第二个月还是只有一对兔子,第三个月,就有两对了,第四个月3对,第五个月5对,第六个月8对,第七个月是13对,这样规律就出来了。
public class T5{ public static void main(String args[]){ //i是表示月份的,这里计算了36个月,也就是三年,兔子的数量 int i; long arr[]=new long[36]; //这个数组时用来计算每月有兔子的对数 arr[0]=arr[1]=1; System.out.println("第1个月有兔子1对"+", "+"总数是"+2); System.out.println("第2个月有兔子1对"+", "+"总数是"+2); for(i=2;i<=35;i++){ arr[i]=arr[i-1]+arr[i-2]; System.out.println("第"+i+"个月有兔子"+arr[i]+"对"+", "+"总数是"+2*arr[i]); //规律是 每个数字都是前面两个数字之和 } } }