更正键盘输入的英语书写
要求:
1. 从键盘输入英文句子,最多可以输入100行,当用户输入一个空行(直接回车)时,输入结束。
2. 程序内构造数组,保存输入的英文句子。
3. 按照一套规则纠正英文句子的拼写,然后在屏幕上输出结果。
4. 纠正英文句子的规则如下:
a) 每个英文句子的句首字母大写。
b) 给每个句子的句首添加行号。
c) 将小写的“zjicm”都替换成大写的“ZJICM”。
d) 如果行末没有句号,则自动添加句号。
自己的程序如下 只完成了a,b两个要求 希望高手把另外两个要求在我原程序的基础上添加import java.io.*;public class j1
{ public j1()
{
} public static void main(String args[])
{
String args1[] = new String[100];
InputStreamReader inputstreamreader = new InputStreamReader(System.in);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
try
{
int i = 0;
do
{
if(i >= 100)
break;
args1[i] = bufferedreader.readLine();
if(args1[i].length() == 0)
break;
i++;
} while(true);
for(int j = 0; j < i; j++)
System.out.println(args1[j]);
String replace("zjicm","ZJICM");
for(int k = 0; k < i; k++)
{
String s = args1[k].substring(0, 1);
args1[k] = (new StringBuilder()).append(s.toUpperCase()).append(args1[k].substring(1)).toString();
args1[k] = (new StringBuilder()).append(k + 1).append(". ").append(args1[k]).toString();
System.out.println(args1[k]);
} }
catch(IOException ioexception)
{
System.out.println(ioexception.getMessage());
}
}
}
要求:
1. 从键盘输入英文句子,最多可以输入100行,当用户输入一个空行(直接回车)时,输入结束。
2. 程序内构造数组,保存输入的英文句子。
3. 按照一套规则纠正英文句子的拼写,然后在屏幕上输出结果。
4. 纠正英文句子的规则如下:
a) 每个英文句子的句首字母大写。
b) 给每个句子的句首添加行号。
c) 将小写的“zjicm”都替换成大写的“ZJICM”。
d) 如果行末没有句号,则自动添加句号。
自己的程序如下 只完成了a,b两个要求 希望高手把另外两个要求在我原程序的基础上添加import java.io.*;public class j1
{ public j1()
{
} public static void main(String args[])
{
String args1[] = new String[100];
InputStreamReader inputstreamreader = new InputStreamReader(System.in);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
try
{
int i = 0;
do
{
if(i >= 100)
break;
args1[i] = bufferedreader.readLine();
if(args1[i].length() == 0)
break;
i++;
} while(true);
for(int j = 0; j < i; j++)
System.out.println(args1[j]);
String replace("zjicm","ZJICM");
for(int k = 0; k < i; k++)
{
String s = args1[k].substring(0, 1);
args1[k] = (new StringBuilder()).append(s.toUpperCase()).append(args1[k].substring(1)).toString();
args1[k] = (new StringBuilder()).append(k + 1).append(". ").append(args1[k]).toString();
System.out.println(args1[k]);
} }
catch(IOException ioexception)
{
System.out.println(ioexception.getMessage());
}
}
}
Scanner sc = new Scanner(System.in);
ArrayList<String> list = new ArrayList<String>();
String line = null;
for(int i=0; i<100; i++) {
line = sc.nextLine();
if(line.length() == 0) {
break;
} else {
list.add(line);
}
}
System.out.println("输入结束,对所有句子进行矫正后,结果如下:");
StringBuilder sb = new StringBuilder();
char letter = ' ';
String line_num = null;
String s1 = "zjicm";
for(int i=0; i<list.size(); i++) {
sb.replace(0, Integer.MAX_VALUE, list.get(i).trim());
// 规则a) 首字母大写
letter = sb.charAt(0);
if(Character.isLowerCase(letter)) {
sb.replace(0, 1, Character.toUpperCase(letter)+"");
}
// 规则b) 添加行号
line_num = String.format("%1$02d. ", i+1);
sb.insert(0, line_num);
// 规则c) 将句子中的小写的“zjicm”都替换成大写的“ZJICM”
for(int j=0, pos; j<sb.length(); j++) {
letter = sb.charAt(j);
pos = s1.indexOf(letter);
if(pos >= 0) {
sb.replace(j, j+1, Character.toUpperCase(letter)+"");
}
}
// 规则d) 如果句子末尾没有句号,添加句号
letter = sb.charAt(sb.length()-1);
if(letter != '.') {
sb.append('.');
}
//输出矫正后的句子
System.out.println(sb);
}