- for循环对商场顾客年龄层次调查以及算出比例
要求:输入每位顾客的年龄你打印30岁上下的比例
import java.util.Scanner;
public class bili {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=0;
for(int i=1;i<=10;i++){
System.out.print("请输入第"+i+"位顾客的年龄:");
int s1=input.nextInt();
if (s1<=30) {
continue;
}
n++;//30岁以下的人数自加
}
double rate=n*1.0/10*100;
System.out.println("30岁以下的比例是"+rate+"%");
System.out.println("30岁以上的比例是"+(100-rate)+"%");
}
- 有一组学员的成绩{99,85,82,63,60}将它们按升序排列。现增加一个学员成绩,并保持升序
- 方法一:
import java.util.Arrays;
import java.util.Scanner;
public class arr {
public static void main(String[] args) {
System.out.println("请输入新增成绩:");
Scanner input=new Scanner(System.in);
int s1=input.nextInt();
int[] old={99,85,82,63,60};
Arrays.sort(old);//Arrays中的方法
int[] newarr=new int[6];
for(int i=0;i<old.length;i++){//遍历老数组
if (s1>old[i]) {
newarr[i]=old[i];//将比这个数小的值之前的数赋给新数组
}else{
newarr[i]=s1;//将这个数赋值给新数组中的i
for(int j=i;j<old.length;j++){//注意从什么位置开始遍历
newarr[j+1]=old[j];//将老数组比s1大的数再赋值给新数组
break;
}
for (int j = 0; j < newarr.length; j++) {
System.out.print(newarr[j]+"\t");
}
}
}
- 方法二:
import java.util.Arrays;
import java.util.Scanner;
public class paixu {
public static void main(String[] args) {
System.out.println("请输入新成绩:");
Scanner input = new Scanner(System.in);
int s1 = input.nextInt();
int[] old = { 85, 99, 80, 60, 63 };
Arrays.sort(old);
int newarr[] = new int[6];
int index = 0;//定义在老数组中s1小的下标
for (int i = 0; i < old.length; i++) {//找到下标的位置
if (s1 <= old[i]) {
index = i;
break;
}
}
for (int i = 0; i < index; i++) {
newarr[i] = old[i];//从开始到下标位置开始遍历
}
newarr[index] = s1;
for (int i = index + 1; i < newarr.length; i++) {//从下标位置到结束位置遍历
newarr[i] = old[i - 1];
}
for (int i = 0; i < newarr.length; i++) {
System.out.print(newarr[i] + " ");
}
}
}