Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串操作的不适合输出_Java_String_Collections - Fatal编程技术网

Java 字符串操作的不适合输出

Java 字符串操作的不适合输出,java,string,collections,Java,String,Collections,} 我想逐字颠倒字符串。我获取字符串并使用StringTokenizer存储它。为了从最后一个单词反转字符串,我使用了ListIterator的hasPrevious()和previous()方法。什么也看不出来。如果我使用hasNext()和next(),它工作正常 (例如) 输入: 我回来了 输出: 我回来了您不能使用hasPreviews(),因为您从列表的开头开始。你需要从最后开始。 尝试使用: import java.util.ArrayList; import java.util

}

我想逐字颠倒字符串。我获取字符串并使用StringTokenizer存储它。为了从最后一个单词反转字符串,我使用了ListIterator的hasPrevious()和previous()方法。什么也看不出来。如果我使用hasNext()和next(),它工作正常

(例如) 输入:
我回来了

输出:
我回来了

您不能使用hasPreviews(),因为您从列表的开头开始。你需要从最后开始。 尝试使用:

 import java.util.ArrayList;
 import java.util.ListIterator;
 import java.util.Scanner;
 import java.util.StringTokenizer;

 public class N12 {
    public String reverseWords(String s) {

    String value = "";
    ArrayList list = new ArrayList();
    StringTokenizer st = new StringTokenizer(s);
    StringBuilder sb = new StringBuilder();

    while (st.hasMoreTokens()) {
        list.add(st.nextToken());
    }


    ListIterator lt = list.listIterator();

    while (lt.hasPrevious()) {
        String t = (String) lt.previous();
        System.out.println(t);
        sb.append(t);
    }
    value = sb.toString();
    return value;
 }

 public static void main(String ss[]) {
    N12 sol = new N12();
    Scanner scan = new Scanner(System.in);

    String s1 = scan.nextLine();

    System.out.println(sol.reverseWords(s1));
 }
您不能使用hasPreviews(),因为您从列表的开头开始。你需要从最后开始。 尝试使用:

 import java.util.ArrayList;
 import java.util.ListIterator;
 import java.util.Scanner;
 import java.util.StringTokenizer;

 public class N12 {
    public String reverseWords(String s) {

    String value = "";
    ArrayList list = new ArrayList();
    StringTokenizer st = new StringTokenizer(s);
    StringBuilder sb = new StringBuilder();

    while (st.hasMoreTokens()) {
        list.add(st.nextToken());
    }


    ListIterator lt = list.listIterator();

    while (lt.hasPrevious()) {
        String t = (String) lt.previous();
        System.out.println(t);
        sb.append(t);
    }
    value = sb.toString();
    return value;
 }

 public static void main(String ss[]) {
    N12 sol = new N12();
    Scanner scan = new Scanner(System.in);

    String s1 = scan.nextLine();

    System.out.println(sol.reverseWords(s1));
 }