Java学习之旅(六)
第三周Java学习—前五章综合检测练习
- 从1开始累加,和超过10000时的数值为多少?
int sum = 0;
for (int i = 1; ; i++) {
sum+=i;
if (sum>10000){
System.out.println(i);
break;
}
}
- 控制台输出7行等腰三角形?
for (int i = 1; i<=7 ; i++) {
for (int j = 1; j<=7-i; j++) {
System.out.print(" ");
}
for (int j = 1; j<=2*i-1 ; j++) {
System.out.print("*");
}
System.out.println( );
}
- 随机生成10个1~1000之间的不重复随机数,先排序后求平均值,最小值,最大值?
Random rand = new Random();
int[] arr = new int[10];
int size = 0;
arr[size++] = 1+ rand.nextInt(1000);
boolean no;
for (int i; size < arr.length; ) {
i =1+ rand.nextInt(1000);
no = true;
for (int j = 0; j <size ; j++) {
if (arr[j] == i) {
no = false;
break;
}
}
if (no){
arr[size++] = i;
}
}
System.out.print("排序前:");
for (int t : arr) {
System.out.print(t+" ");
}
System.out.println();
for (int i = 0,t; i <arr.length-1 ; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
System.out.print("排序后:");
for (int x : arr) {
System.out.print(x +"\t");
}
int sum = 0;
int minIx = arr[0];
int maxIx = arr[0];
for (int a = 0; a <arr.length ; a++) {
sum+=arr[a];
if (minIx>=arr[a]){
minIx = arr[a];
}
if (maxIx<=arr[a]){
maxIx = arr[a];
}
}
System.out.println();
double average = (double) sum / 10*1.0;
System.out.println("平均数是:"+average);
System.out.println("最大值是:"+maxIx);
System.out.println("最小值:"+minIx);
- 求500以内所有质数和?
int sum = 0;
for (int i = 2 ; i <=500 ; i++) {
boolean is = true;
for (int j = 2; j <=500; j++) {
if (i%j==0&&i!=j){
is = false;
break;
}
}
if (is) {
sum += i;
}
}
System.out.println(sum);