1.字符个数统计
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String line=sc.next();
BitSet bitSet=new BitSet(128);
for(char c:line.toCharArray()){
bitSet.set(c);
}
System.out.println(bitSet.cardinality());
}
2.数字颠倒
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
String str=String.valueOf(n);
for(int i=str.length()-1;i>=0;i--){
System.out.print(str.charAt(i));
}
}
for循环这里写的我是想不到啊,感觉思路好美妙
3.句子逆序
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
String s[]=str.split(" ");
for(int i=s.length-1;i>=0;i--){
if(i!=0)
System.out.print(s[i]+" ");
else
System.out.print(s[i]);
}
}
不会的点字符串转字符串,用到函数split
4.字符串排序
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
String[] array=new String[n];
for(int i=0;i<n;i++){
array[i]=sc.next();
}
Arrays.sort(array);
for(String str:array){
System.out.println(str);
}
}
存储在字符串数组中,Arrays进行排序
5.求int型正整数在内存中存贮1的个数
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
String str=Integer.toBinaryString(n);
int length=str.length();
String newStr=str.replace("0","");
System.out.println(newStr.length());
}