问题描述:输入一行由多个词构成的语句并反序输出语句
举例:
输入:i am a student
输出:student a am i
思路:刚看到题目想的是reverse不晓得怎么考虑的用集合做但是输入把我整迷糊了不知道怎么输入一句话并分单词存入集合。之后还用了String类反正就是那些自带reverse的都不会。只能老老实实用字符数组,自己造方法。期间还有一个问题是把整个字符串逆序了(student变成tneduts)
我的想法是先输入字符串,再把字符串转为数组,逆序整个数组,这时每个单词的位置对了,但是单词的字母顺序反了,再对单词顺序逆序,输出。
我的代码:(有点复杂)
import java.util.*;
public class Reverse3 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.nextLine();
char []arr = s.toCharArray();
char []brr = reverse(arr,0,arr.length);
int tag = 0;
for(int j=0;j<brr.length;j++){
if(brr[j]==' ' || j==brr.length-1){//读到最后是没有空格的
if(brr[j]!=' ' && j==br