程式設計練習題:測試一下自己的基礎程式設計水平
阿新 • • 發佈:2018-12-20
作者:java_wxid
練習:求1+2!+3!+…+20!的和
long sum = 0;
for (int i = 1; i <= 20; i++) {
long temp= 1;
for (int j = 1; j <= i; j++) {
temp *= j;
}
sum += temp;
}
System.out.println(sum);
結果為:2561327494111820313
練習:獲取字串中各個的字元數量
public static void main(String[] args) { String string = "中國,國國哥,好帥是個大帥,哥哥"; HashMap<Character, Integer> hashMap = new HashMap<>(); while(string.length()>0) { Character c = string.charAt(0); string = string.substring(1); Integer integer = hashMap.get(c); if(integer == null ) { hashMap.put(c, 1); }else { hashMap.put(c, integer + 1); } } Set<Entry<Character, Integer>> entrySet = hashMap.entrySet(); for (Entry<Character, Integer> entry : entrySet) { System.out.println(entry); } }
結果:
哥=3
帥=2
大=1
個=1
,=3
中=1
國=3
好=1
是=1
練習:消除集合中重複的元素
public static void main(String[] args) { List list = Arrays.asList(1,2,3,3,4,4,5,5,6,1,9,3,25,4); HashSet<Integer> hashSet = new HashSet<>(); hashSet.addAll(list); for (Integer integer : hashSet) { System.out.println(integer); } }
結果:
1
2
3
4
5
6
9
25
練習:找出陣列中的一個值,使其左側值的和等於右側值的加和,例如:1,2,5,3,2,4,2,結果為第四個值。
public static void main(String[] args) { int[] arr = new int[] {1,2,5,3,2,4,2};//1,2,5,3,2,4,2,9,2,1,7,6,3 int targetIndex=0; for (int i = 0; i < arr.length; i++) { int leftSum=0; int rightSum=0; for (int j = 0; j < targetIndex; j++) { leftSum += arr[j]; } for (int j = targetIndex+1; j < arr.length; j++) { rightSum+=arr[j]; } if(leftSum == rightSum) { break; } targetIndex++; } if(targetIndex == arr.length) { System.out.println("未找到這樣的數值"); }else { System.out.println("目標下標:" + targetIndex + "對應的值:" + arr[targetIndex]); } }
結果為:目標下標:3對應的值:3
未完結