62,623
社区成员
发帖
与我相关
我的任务
分享//输入一个字符串,字符串中的单词用空格分隔开,(1)判断该字符串是否为回文
import java.util.*;
import java.io.*;
import java.util.Collections;
public class MyString
{
public static void main(String[] args)throws IOException
{
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
char ch ='Y';
do{
System.out.println("请输入你的字符串,单词之间用空格:");
String s = keyboard.readLine();
String[] a = s.split(" "+"+"); //按正则表达式将字符串用给定的方式转换成数组
String[] b = a.clone();
// b[0] = "wang";
int flag = 1;
for(int j=0;j<s.length();j++)
if(s.charAt(j) != s.charAt(s.length()-j-1))
{
flag = 0;
break;
}
if(flag == 1)
System.out.println("你的字符串是回文");
else
System.out.println("你的字符串不是回文");
//以上代码为判断字符串是否为回文
for(int j=1;j<a.length;j++)
for(int i=0;i<a.length-j;i++)
if(a[i].compareToIgnoreCase(a[i+1])>0)
{
String temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
//以上为将单词排序
System.out.println("你的字符串一共有"+a.length+"个单词");
System.out.print("将你的字符串中的所有单词按字典顺序排列为:");
for(int m=0;m<a.length;m++)
System.out.print(" "+a[m]);
System.out.println();
System.out.print("将你的字符串中的所有单词反序排列为:");
for(int m=b.length-1;m>=0;m--)
System.out.print(" "+b[m]);
System.out.println();
System.out.println("是否继续(Y/N)");
ch = keyboard.readLine().charAt(0);
}while(ch=='y' || ch=='Y');
}
}
public class Test {
public void countSomething(String s){
char[] c = s.toCharArray();
int letterNum = 0,digitNum = 0,otherNum = 0;
for(int i=0;i<c.length;i++){
if(Character.isLetter(c[i])){
letterNum++;
}
else if(Character.isDigit(c[i])){
digitNum++;
}
else{
otherNum++;
}
}
System.out.println("letter:" + letterNum);
System.out.println("digit:" + digitNum);
System.out.println("other:" + otherNum);
}
public static void main(String[] args) {
new Test().countSomething("fksj32k33_f _"); // test
}
}