天天看點

16.降序輸出數組元素并統計其中正數,負數和零的個數

程式設計題目:

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);
		
	}
}

           

結果顯示:

16.降序輸出數組元素并統計其中正數,負數和零的個數