在網上搜的一些判斷同一數組內是否有相同數值的例子,發現全有問題,故自己寫了個,如若該代碼有問題,請聯系我。
// 測試抽獎碼是否會重復 public static void main(String[] args) { Integer[] arry = new Integer[] { 3555, 7531, 1205, 8126, 5673, 2173, 7078, 4048, 4261, 8687, 2931, 6411, 2843, 2978, 7309, 7106, 5287, 1635, 6552, 9771, 1897, 4193, 3254, 3403, 3559, 5585, 7759, 7683, 5265, 6370, 3150, 4543, 9481, 6369, 6654, 5230, 6767, 6076, 9880, 7581, 2858, 9808, 4224, 1793, 2049, 5207, 7880, 8366, 3547, 3655, 7155, 5120, 9580, 9420, 2953, 7414, 4365, 2327, 3525, 3076, 6754, 3685, 2507, 8321, 8920, 4553, 4147, 4512, 9671, 2668, 5387, 8384, 9591, 5548, 7867, 8523, 6516, 6838, 5812, 8346, 7646, 7590, 8207, 4438, 7003, 6200, 3375, 5924, 6147, 8185, 9241, 4952, 2721, 5156, 9180, 6291, 5367, 9134, 3619, 5914, 5295, 8143, 3172, 7930, 9864, 6861, 9213, 1903, 3452, 6597, 2797, 3863, 5527, 9846, 4057, 6961, 3911, 1792, 2525, 2754, 8571, 4499, 3898, 7914, 6738, 7093, 4240, 9927, 6787, 1367, 3139, 9371, 3778, 8760, 3277, 8812, 6614, 9320, 6218, 9154, 6629, 6063, 3417, 2434, 3393, 9108, 7076, 2712, 9927, 3343, 3262, 9657, 7863, 8409, 2365, 1279, 6211, 2345, 4363, 1709, 4255, 6785, 8497, 5679, 2223, 9669, 3555, 6636, 8100, 7042, 6628, 6590, 5939, 7498, 8422, 5750, 5072, 3997, 1887, 1810, 3609, 3079, 9045, 4871, 4586, 6995, 7395, 1425, 7987, 8711, 7948, 4561, 9820, 1046, 1337, 9933, 9178, 3301, 3111, 3921, 9067, 3990, 4311, 1333, 5070, 6058, 3063, 1340, 8931, 3519, 4833, 1099, 3337, 5685, 9270, 2699, 7796, 8669, 8482, 3640, 1440, 6767, 5864, 1204, 5846, 7939, 9485, 9593, 5503, 9291, 2258, 7317, 7168, 2822, 5392, 2551, 7545, 8743, 5006, 2726, 9752, 5585, 6646, 7966, 6942, 1113, 3264, 8487, 7183, 4648, 6161, 9048, 9981, 1198, 3629, 9643, 7925, 8439, 6192, 6543, 8593, 3354, 6728, 7877, 5773, 6420, 4058, 6149, 8842, 7578, 2589, 7256, 3953, 1748, 2177, 9778, 6241, 7589, 8971, 1716, 7897, 1508, 8478, 9511, 3870, 6313, 8257, 3550, 1946, 7402, 3920, 7697, 9062, 1086, 4304, 4513, 2158, 4711, 8712, 8714 }; int count = 0; for (int i = 0; i < arry.length; i++) { for (int j = 0; j < arry.length; j++) { if (arry[i] == arry[j]) { count++; } } } if (count == arry.length) { System.out.println("並無重復數值!"); }else { System.out.println("存在重復數值!"); } }
原理:嵌套for循環
1.第一個for循環即將數組內所有數字提取出來。
2.第二個for循環即再提取出數組內所有數字,后將第一個for循環中提出來的數據的每一個數值對應第二個for循環提出來所有的數值對比判斷,如若有相同的即count+1
3.判斷count值是否等於arry.length(數組的數值數量),如若相等,即無重復值,反之則否。