浙江大学PAT (Basic Level) Practice (中文)1009说反话JAVA实现代码及分析
2019-03-09 13:27
351 查看
1009
说反话
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
我对这道题的理解是将输入的字符串以空格为间隔拆分开来,每个单词存入一个字符数组中,最后进行输出的时候将数组中的有效元素倒序输出。因为JAVA字符数组的默认值是\u0000,所以输出的时候要跳过这些无效字符。
具体代码实现如下:
import java.util.Scanner; public class Main { public static void main (String[]args) { char a[][]=new char[81][81]; char b[]=new char[81]; int j=0;//a的行坐标 int k=0;//a的列坐标 Scanner input=new Scanner(System.in); String s=input.nextLine();//nextline()可以得到从键盘上输入的空格符号保存在字符串中,而不是遇到空格就停止输入 b=s.toCharArray(); for(int i=0;i<s.length();i++) { if(b[i]==' ') { j++; i++; k=0; } a[j][k]=b[i]; k++; } for(int i=j;i>-1;i--) { for(char item:a[i]) { if(item=='\u0000')//'\u0000'为JAVA字符数组初始化时得到的值 { break; } System.out.print(item); } if(i>0) { System.out.print(" "); } } } }
相关文章推荐
- 浙江大学PAT (Basic Level) Practice (中文)1013数素数JAVA实现代码及分析
- 浙江大学PAT (Basic Level) Practice (中文)1010一元多项式求导JAVA实现代码及坑点分析
- 浙江大学PAT (Basic Level) Practice (中文)1014福尔摩斯的约会JAVA实现代码及分析
- 浙江大学PAT (Basic Level) Practice (中文)1017A除以BJAVA实现代码及分析
- 浙江大学PAT (Basic Level) Practice (中文)1016部分A+BJAVA实现代码及分析
- 浙江大学PAT (Basic Level) Practice (中文)1018锤子剪刀布JAVA实现代码及分析
- 浙江大学PAT (Basic Level) Practice (中文)1012数字分类JAVA实现代码及分析
- 浙江大学PAT (Basic Level) Practice (中文)1015德才论JAVA实现代码及分析
- 浙江大学PAT (Basic Level) Practice (中文)1011A+B 和 CJAVA实现代码及分析
- PAT (Basic Level) Practice (中文)1009 说反话
- PAT (Basic Level) Practice (中文)1009 说反话
- PAT (Basic Level) Practise (中文)1009. 说反话 (20)
- PAT (Basic Level) Practise (中文)1009. 说反话 (20)
- PAT (Basic Level) Practise (中文)1009. 说反话 (20)
- Pat(Basic Level)Practice--1009(说反话)
- PAT (Basic Level) Practice 1009 说反话
- PAT (Basic Level) Practise (中文)- 1009. 说反话 (20)
- PAT (Basic Level) Practise (中文)1009. 说反话 (20)
- PAT乙级真题及训练集 PAT (Basic Level) Practise (中文)1009. 说反话
- PAT (Basic Level) Practise (中文) 1009.说反话