题库练习4(提取不重复的数字、字符个数统计、数字颠倒、字符串反转)
生活随笔
收集整理的這篇文章主要介紹了
题库练习4(提取不重复的数字、字符个数统计、数字颠倒、字符串反转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 提取不重復的數字
輸入一個int型整數,按照從右向左的閱讀順序,返回一個不含重復數字的新的整數。
1.1 分析
注意去重的同時要保證數字要按照輸入順序打印——LinkedHashSet
import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);String str=sc.nextLine();char[] chs=str.toCharArray();Set<Character> set=new LinkedHashSet<>();for(int i=chs.length-1;i>=0;i--)set.add(chs[i]);String result="";for(Character c:set)result+=c;System.out.println(result);} }注:
1.Set的遍歷
對 set 的遍歷 1.迭代遍歷: Set<String> set = new HashSet<String>(); Iterator<String> it = set.iterator(); while (it.hasNext()) { String str = it.next(); System.out.println(str); } 2.for循環遍歷: for (String str : set) { System.out.println(str); } 優點還體現在泛型 假如 set中存放的是Object Set<Object> set = new HashSet<Object>(); for循環遍歷: for (Object obj: set) { if(obj instanceof Integer){ int aa= (Integer)obj; }else if(obj instanceof String){ String aa = (String)obj } ........ }2.
HashSet:不保證元素輸出順序
LinkedHashSet :有序的HashSet(按照存入集合的順序打印)
2.字符個數統計
編寫一個函數,計算字符串中含有的不同字符的個數。字符在ACSII碼范圍內(0~127)。不在范圍內的不作統計。
2.1 分析
直接使用Set去重,輸出set的大小
import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);char[] chs=sc.nextLine().toCharArray();Set<Character> set=new HashSet<>();for(int i=0;i<chs.length;i++)set.add(chs[i]);System.out.println(set.size());} }3. 數字顛倒
輸入一個整數,將這個整數以字符串的形式逆序輸出
程序不考慮負數的情況,若數字含有0,則逆序形式也含有0,如輸入為100,則輸出為001
import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);char[] chs=sc.nextLine().toCharArray();String str="";for(int i=chs.length-1;i>=0;i--)str+=chs[i];System.out.println(str);} }4. 字符串反轉
import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new Scanner(System.in);String str=sc.nextLine();System.out.println(new StringBuffer(str).reverse().toString());} }注:
1.String沒有reverse()方法
2.字符串反轉的方法
- 利用 StringBuffer 或 StringBuilder 的 reverse 成員方法:
- 利用 String 的 toCharArray 方法先將字符串轉化為 char 類型數組,然后將各個字符進行重新拼接:
- 利用 String 的 CharAt 方法取出字符串中的各個字符:
?
總結
以上是生活随笔為你收集整理的题库练习4(提取不重复的数字、字符个数统计、数字颠倒、字符串反转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 题库练习3(质因子、取近似值、合并表记录
- 下一篇: 题库练习5(句子逆序、字符串排序、int