字符串逆转实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用编程语言:JA V A
题目一
W003E:编制程序实现字符串的逆转功能。要求具有友好的输入、输出界面。如输入This is a test 输出tset a si sihT
1、问题分析。
观察字符串发现:
1.本程序实现的是所有字母的逆转,并非只是单词的逆转,逆转的时候需要把空格等都代入其中。
2.逆转后字母的大小写并未发生改变属于纯粹的字符位置的转换。
3.需要由用户输入字符串,字符串的内容,长度等具有未知性。
2、设计方案。
经过问题分析发现,我们可以将字符串切分为一个一个的字符(包括空格),并给它们编上号,第一个字符为0,第二个为1,如此递推。当我们需要将字符串逆转时,只需改变每个字符的输出顺序,由012345...的输出顺序改为 (543210)
的输出顺序,字符串便实现了逆转。
以下是我们的具体步骤:
1.首先定义一个字符串给用户输入所想输入的语句
2. 调用JAVA中的“length()”方法:
length():返回String对象的长度。
3.使用“length()”方法计算出用户输入的语句的长度。
4. 使用JAVA中“charAt(Position)”方法:
charAt(Position):返回调用对象字符串中位于(Position)的字符,位置是按0、1、2计数的。
5. 由于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
输出结果能够满足题目要求。
5、相关运行界面。
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));
}