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