class Reverse_Word
{
public static void main(String args[])
{
String s = "This is a program";
String str[] = s.split(" ");
String wrd = new String();
try{
for(int i=0;i<str.length;i++)
{
wrd = str[i];
for(int j=wrd.length();j>=0;j--)
{
String str1[]=wrd.split("//");
System.out.println(str1);
}
}
}catch(Exception e)
{
System.err.println(e);
}
}
}
现在,当我修改代码时。它们没有错误,但像一些哈希码一样输出错误 [Ljava.lang.String; @ d70d7a [Ljava.lang.String; @ b5f53a [Ljava.lang.String; @ 1f6f0bf [Ljava.lang.String; @ 137c60d [Ljava.lang.String; @ ab853b [Ljava.lang.String; @ b82368 [Ljava.lang.String; @ 11c8a71 [Ljava.lang.String; @ c53dce [Ljava.lang.String; @ 15cda3f [Ljava.lang.String; @ fc9944 [Ljava.lang.String; @ 1b26af3 [Ljava.lang.String; @ 8b819f [Ljava.lang.String; @ eb017e [Ljava.lang.String; @aeffdf [Ljava.lang.String; @ 120a47e [Ljava.lang.String; @ f73c1 [Ljava.lang.String; @ 789144 [Ljava.lang.String; @ 1893efe
答案 0 :(得分:0)
String str1 = "";// its just a String object
str1[j] = wrd.split(""); // and you are using it as an array;
需要更改:
String str1[];
str1= wrd.split(""); // I dont know what is your purpose here
您的答案代码是
StringBuilder newstring = new StringBuilder();
try {
for (int i = 0; i < str.length; i++) {
// System.out.println(str[i]);
wrd = str[i];
System.out.println("Hi" + str[i]);
char chars[] = wrd.toCharArray();// converting your string in chars
for(int k=chars.length-1;k>=0;k--){
newstring.append(chars[k]); // appending your characters in reverse order
}
newstring.append(' ');// appending `space` after each word
}
} catch (Exception e) {
System.err.println(e);
}
System.out.println(newstring);// printing your entire reversed string
答案 1 :(得分:0)
当然..
String str1 = ""; // str1 is a String and not an array
然后你做
str1[j] = wrd.split("");// I am getting error here. because str1 is NOT an array
将str1更改为数组。 String[] str1 = null;
此外,wrd.split("")
没有
答案 2 :(得分:0)
如果你想将单词拆分为字符数组(一个字符串数组 - 每个字符串都是一个charatcer),你应该使用:
wrd.split("//");
因此,如果wrd = "This";
它将返回数组:{"T", "h", "i", "s"}
。
示例:
String str = "abcd";
String[] arr = str.split("//");
System.out.println(Arrays.toString(arr)); // prints [abcd]
请注意,因为它返回一个字符串数组 - 它不适合str1[j]
(这是一个错误,因为字符串不能像数组一样被访问) - 但我会让你解决这个问题你自己(除非你特别要求完整的逻辑)。