16.编一个程序,输入10个整数,并放在数组中,先降序输出所有的数字,再统计并输出其中正数,负数和零的个数(不可使用Array.sort())。

编程题目:

16.编一个程序,输入10个整数,并放在数组中,先降序输出所有的数字,再统计并输出其中正数,负数和零的个数(不可使用Array.sort())。

示例代码:

package program.calculation.exercise16;

import java.util.Scanner;

/**
 * 16.编一个程序,输入10个整数,并放在数组中,先降序输出所有的数字, 
 * 再统计并输出其中正数,负数和零的个数(不可使用Array.sort())。
 */

public class NumberHandle {
	public static void main(String[] args) {
		
		int[] arr = new int[10];
		
		System.out.println("请输入10个数字:");
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner(System.in);
		for(int i=0;i<arr.length;i++){
			arr[i] = scanner.nextInt();
		}
		
		downOrder(arr);
		
		countArr(arr);
		
	}

	//降序:冒泡排序
	private static void downOrder(int[] arr) {
		
		for(int i=0;i<arr.length;i++){
			for(int j=0;j<arr.length-i-1;j++){
				if(arr[j+1] > arr[j]){
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
		
		System.out.println("数组排序后顺序:");
		for(int n : arr){
			System.out.print(n+" ");
		}
		
	}

	//计数
	private static void countArr(int[] arr) {
		
		int plusCount = 0;//正数
		int minusCount = 0;//负数
		int zeroCount = 0;//零
		
		for(int i=0;i<arr.length;i++){
			if(arr[i] > 0){
				plusCount++;
			}else if(arr[i] < 0){
				minusCount++;
			}else{
				zeroCount++;
			}
		}
		
		System.out.println();
		System.out.println("正数个数:"+plusCount);
		System.out.println("负数个数:"+minusCount);
		System.out.println("零个数:"+zeroCount);
		
	}
}

结果显示:

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章