2018-12-08作业(数组)

1、依次输入五句话,然后将它逆序输出

Scanner input = new Scanner(System.in);
String[] s = new String[5];
System.out.println("请输入5句话");
for(int i=0;i<s.length;i++){
	System.out.print("第"+(i+1)+"句话:");
	s[i] = input.nextLine();
}
System.out.println("\n逆序输出5句话为:");
for(int i=s.length-1;i>=0;i--){
	System.out.println(s[i]);
}
input.close();

2、某百货商场当日消费积分最高的八名顾客,他们的积分分别是:18、25、7、36、13、2、89、63.编写程序找出最低的积分及它在数组中的原始位置[下标]

int[] points = {18,25,7,36,13,2,89,63};
int min = points[0],index = 0;
for(int i=1;i<points.length;i++){
	if(min>points[i]){
		min = points[i];
		index = i;
	}
}
System.out.println("最低的积分为:"+min+",其在数组中的原始位置为:"+index);

3、从键盘输入10个整数,合法值为1、2或3,不是这三个数则为非法数字。试编程统计每个整数和非法数字的个数

Scanner input = new Scanner(System.in);
int[] a = new int[10];
int[] tj = new int[4];//下标为0:非法数字,1:数字1,2:数字2,3:数字3
System.out.println("请输入10个数");
for(int i=0;i<10;i++){
	a[i] = input.nextInt();
	switch(a[i]){
	case 1:
		tj[1]++;
		break;
	case 2:
		tj[2]++;
		break;
	case 3:
		tj[3]++;
		break;
	default:
		tj[0]++;
		break;
	}
}
System.out.print("输入的10个数为:");
for(int i=0;i<10;i++){
	System.out.print(a[i]+" ");
}
System.out.println();
for(int i=1;i<tj.length;i++){
	System.out.println("数字"+i+"的个数:"+tj[i]);
}
System.out.println("非法数字的个数:"+tj[0]);

input.close();

4、假设有一个长度为5的数组,如下所示。

int[] array = new int[]{1,3,-1,5,-2};

现要创建一个新数组 newArray[],要求新数组中的元素与原数组中的元素逆序,并且如果原数组中的元素值小于0,在新数组中按0存储。试编程输出新数组中的元素

int[] array = new int[]{1,3,-1,5,-2};
int[] newArray = new int[array.length];
for(int i=0,j=array.length-1;i<array.length;i++,j--){
	newArray[i]=array[j];
	if(newArray[i]<0){
		newArray[i]=0;
	}
}
System.out.println("原数组为:");
for(int i = 0;i<array.length;i++){
	System.out.print(array[i]+" ");
}
System.out.println("\n逆序并处理后的数组为:");
for(int i = 0;i<newArray.length;i++){
	System.out.print(newArray[i]+" ");
}

猜你喜欢

转载自blog.csdn.net/weixin_39003621/article/details/84890288