Java黑皮书课后题第7章:*7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第7章:*7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
7.28(數學:組合)
- 題目
- 題目描述
- 破題
- 代碼
- 運行示例
題目
題目描述
*7.28(數學:組合)編寫一個程序,提示用戶輸入10個整數,然后顯示從這10個數中選出兩個數的所有組合
破題
代碼
import java.util.Arrays; import java.util.Scanner;public class Test7_28 {public static void main(String[] args) {//1. 聲明一個長度為10的int型數組int length0 = 10;int[] list0 = new int[length0];//2. 接收用戶輸入Scanner input = new Scanner(System.in);System.out.print("請輸入10個整數:");for (int i = 0 ; i < length0 ; i++){list0[i] = input.nextInt();}//3. 對數組進行排序Arrays.sort(list0);//4. 再對數組進行遍歷,計算有多少個元素不相等(使用count計數變量)int count = length0;for (int i = 0 ; i < length0 - 1 ;i++){if (list0[i] == list0[i+1])count--;}//5. 聲明一個長度為count的int型數組int[] list1 = new int[count];//6. 對原數組進行遍歷,元素不重復的賦值給新數組int index_list1 = 0;for (int i = 0 ; i < length0 ; i++){// i=0時將第一個元素賦值給新數組,index_list1++// i≠0且新數組[index_list1]==原數組[i]時則index_list1++// i≠0且新數組[index_list1]!=原數組[i]時則新數組[index_list1++]=原數組[i]if (i == 0){list1[index_list1] = list0[i];}else if(list1[index_list1] != list0[i]){++index_list1;list1[index_list1] = list0[i];}}//7. 兩個數的所有組合第一部分: 從新數組中選2個的全部結果for (int a = 0 ; a <= index_list1 ; a++){for (int b = 0 ; b <= index_list1 ; b++){if (list1[a] != list1[b]){System.out.println("a=" + list1[a] + ", b=" + list1[b]);}}}//8. 再對原數組進行遍歷,如果某個元素出現次數超過1次(即2次及2次以上),則輸出所有組合的第二部分:兩個數都一樣的結果for (int i = 0 ; i < length0 - 1 ;i++){if (list0[i] == list0[i+1])System.out.println("a=" + list0[i] + ", b=" + list0[i]);}} }運行示例
請輸入10個整數:10 9 8 7 6 5 4 3 2 1 a=1, b=2 a=1, b=3 a=1, b=4 a=1, b=5 a=1, b=6 a=1, b=7 a=1, b=8 a=1, b=9 a=1, b=10 a=2, b=1 a=2, b=3 a=2, b=4 a=2, b=5 a=2, b=6 a=2, b=7 a=2, b=8 a=2, b=9 a=2, b=10 a=3, b=1 a=3, b=2 a=3, b=4 a=3, b=5 a=3, b=6 a=3, b=7 a=3, b=8 a=3, b=9 a=3, b=10 a=4, b=1 a=4, b=2 a=4, b=3 a=4, b=5 a=4, b=6 a=4, b=7 a=4, b=8 a=4, b=9 a=4, b=10 a=5, b=1 a=5, b=2 a=5, b=3 a=5, b=4 a=5, b=6 a=5, b=7 a=5, b=8 a=5, b=9 a=5, b=10 a=6, b=1 a=6, b=2 a=6, b=3 a=6, b=4 a=6, b=5 a=6, b=7 a=6, b=8 a=6, b=9 a=6, b=10 a=7, b=1 a=7, b=2 a=7, b=3 a=7, b=4 a=7, b=5 a=7, b=6 a=7, b=8 a=7, b=9 a=7, b=10 a=8, b=1 a=8, b=2 a=8, b=3 a=8, b=4 a=8, b=5 a=8, b=6 a=8, b=7 a=8, b=9 a=8, b=10 a=9, b=1 a=9, b=2 a=9, b=3 a=9, b=4 a=9, b=5 a=9, b=6 a=9, b=7 a=9, b=8 a=9, b=10 a=10, b=1 a=10, b=2 a=10, b=3 a=10, b=4 a=10, b=5 a=10, b=6 a=10, b=7 a=10, b=8 a=10, b=9 請輸入10個整數:9 9 8 7 6 5 4 3 2 1 a=1, b=2 a=1, b=3 a=1, b=4 a=1, b=5 a=1, b=6 a=1, b=7 a=1, b=8 a=1, b=9 a=2, b=1 a=2, b=3 a=2, b=4 a=2, b=5 a=2, b=6 a=2, b=7 a=2, b=8 a=2, b=9 a=3, b=1 a=3, b=2 a=3, b=4 a=3, b=5 a=3, b=6 a=3, b=7 a=3, b=8 a=3, b=9 a=4, b=1 a=4, b=2 a=4, b=3 a=4, b=5 a=4, b=6 a=4, b=7 a=4, b=8 a=4, b=9 a=5, b=1 a=5, b=2 a=5, b=3 a=5, b=4 a=5, b=6 a=5, b=7 a=5, b=8 a=5, b=9 a=6, b=1 a=6, b=2 a=6, b=3 a=6, b=4 a=6, b=5 a=6, b=7 a=6, b=8 a=6, b=9 a=7, b=1 a=7, b=2 a=7, b=3 a=7, b=4 a=7, b=5 a=7, b=6 a=7, b=8 a=7, b=9 a=8, b=1 a=8, b=2 a=8, b=3 a=8, b=4 a=8, b=5 a=8, b=6 a=8, b=7 a=8, b=9 a=9, b=1 a=9, b=2 a=9, b=3 a=9, b=4 a=9, b=5 a=9, b=6 a=9, b=7 a=9, b=8 a=9, b=9總結
以上是生活随笔為你收集整理的Java黑皮书课后题第7章:*7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第7章:7.27(相
- 下一篇: Java黑皮书课后题第7章:*7.29(