小言_互联网的博客

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

376人阅读  评论(0)

编程题目:

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

结果显示:


转载:https://blog.csdn.net/jsc123581/article/details/104428078
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场