📄 hai.java
字号:
import java.io.*;
class DisposeStr
{
String s; //要处理的字符串
String sArr[] = new String[100]; //存放单词的字符串数组
int words; //单词数目
//构造函数
DisposeStr(String fs)
{
s = fs;
}
//判断字符是否为单词的一部分
boolean isChar(char c)
{
return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '\'' || c == '-';
}
//判断串是否为回文
boolean isHW()
{
int i, len;
len = s.length();
for(i = 0; i < len/2; ++i)
if(s.charAt(i) != s.charAt(len - i -1))
return false;
return true;
}
//统计字符串中单词个数并将单词提取到字符串数组cArr中
int statWords()
{
int i, j;
char cArr[] = new char[100];
for(words = i = j= 0; i < s.length(); ++i)
{
if(this.isChar(s.charAt(i)))
{
cArr[j++] = s.charAt(i);
}
else
{
sArr[words ++] = new String(cArr,0,j);
j = 0;
}
}
if(s.length() != 0) //最后一个单词
sArr[words ++] = new String(cArr,0,j);
return words;
}
//按照字典顺序输出单词
void taxisWords()
{
int i, j;
String temp;
//冒泡排序
for(i = 1; i < words; ++i)
for(j = 0; j < i; ++j)
if(sArr[i].compareTo(sArr[j]) < 0)
{
temp = sArr[i];
sArr[i] = sArr[j];
sArr[j] = temp;
}
//输出排序后的单词
for(i = 0; i < words; ++i)
System.out.println(sArr[i]);
}
}
public class hai
{
public static void main(String args[])throws IOException
{
BufferedReader keyin = new BufferedReader(new InputStreamReader(System.in));
String s;
System.out.println("请输入一个字符串:");
s = keyin.readLine();
DisposeStr t = new DisposeStr(s);
System.out.println("你输入的字符串为:"+s);
if (t.isHW())
System.out.println("这个字符串是回文");
else
System.out.println("这个字符串不是回文");
System.out.println("这个字符串中包含单词"+t.statWords()+"个");
System.out.println("按照字典顺序输出这些单词如下:");
t.taxisWords();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -