public class A {
String rever(String str)
{
String string;
String[] temp=str.split(" ");
int len=temp.length;
String[] tt={};
int i=0;
int j=0;
for(i=0,j=0;i<len;i++)
{
tt[j]=temp[len-i-1];
j++;
}
string=tt.toString();
return string;
}
public static void main(String[] args) {
A aa=new A();
String str="i am an student!";
System.out.println(aa.rever(str));
}
}
改为
String[] tt= new String[len];
数组声明时必须指定大小
表明该数组是一个空数组
tt[0]就已经越界了
但怎么输出是:[Ljava.lang.String;@1729854
tt.toString()只是调用Object的toString()方法
String rever(String str)
{
String string="";
String[] temp=str.split(" ");
int len=temp.length;
String[] tt= new String[len];
int i=0;
int j=0;
for(i=0,j=0;i <len;i++)
{
tt[j]=temp[len-i-1];
j++;
}
for( i=0;i<tt.length;i++)
{
string +=tt[i].toString();
}
return string;
}
public static void main(String[] args) {
A aa=new A();
String str="i am an student!";
System.out.println(aa.rever(str));
}
}
这样稍微改动一下就ok了 呵呵
void rever(String str) {
String[] temp=str.split(" ");
int len=temp.length;
String[] tt=new String[len];
int i=0;
int j=0;
for(i=0,j=0;i <len;i++) {
tt[j]=temp[len-i-1];
System.out.println(tt[j]);
j++;
}
}
public static void main(String[] args) {
A aa=new A();
String str="i am a student!";
aa.rever(str);
}
}编译通过,输出为:
student!
a
am
i
就可以了