字符串逆转实验报告.doc
文本预览下载声明
使用编程语言: JAVA
题目一
W003E:编制程序实现字符串的逆转功能。要求具有友好的输入、输出界面。如输入This is a test 输出 tset a si sihT
1、问题分析。
观察字符串发现:
1.本程序实现的是所有字母的逆转,并非只是单词的逆转,逆转的时候需要把空格等都代入其中。
2.逆转后字母的大小写并未发生改变属于纯粹的字符位置的转换。
3.需要由用户输入字符串,字符串的内容,长度等具有未知性。
2、设计方案。
经过问题分析发现,我们可以将字符串切分为一个一个的字符(包括空格),并给它们编上号,第一个字符为0,第二个为1,如此递推。当我们需要将字符串逆转时,只需改变每个字符的输出顺序,由012345…的输出顺序改为…543210的输出顺序,字符串便实现了逆转。
以下是我们的具体步骤:
1.首先定义一个字符串给用户输入所想输入的语句
2. 调用JAVA中的“length()”方法:
length():charAt(Position)”方法:
charAt(Position):返回调用对象字符串中位于(Position)Position是按0、1、2计数的,所以最后一个字符的Position应该是length-1。
6. 设计一个循环:循环从字符的最后一位开始,即第一次循环输出字符charAt(Position-1),每次循环输出位置向前推一位的字符,直到位置减到0停止循环。
7. 将循环中输出的字符进行不换行输出,即可实现题目中的要求。
8.设计友好的输入输出界面,提示用户输入字符串,并对系统输出的结果进行解释。
9.寻找程序中的BUG。
3、流程图。
4、测试数据、测试结果、结果分析。
Enter the sentence:
Software Design
After reverse, the result is:
ngiseD erawtfoS
6、关键代码
String n1;
int a, count;
Scanner N = new Scanner(System.in);
System.out.println(Enter the sentence: );
n1 = N.nextLine();
a = n1.length();
System.out.println(After reverse, the result is:);
for( count = a-1; count=0; count--){
System.out.print(n1.charAt(count));
}
用户输入字符串
记录字符串长度a
输出字符串中第count个字符
count=a-1, 每次循环count-1,count为零时结束
输出重新排序的字符串
显示全部