class Aa
{
public static String getName()
{
String aa="fjfj";
aa+="vip";
//System.out.println(aa);
}
public static void main(String[] args)
{
getName();
System.out.println(aa);
}
}
有谁可以帮忙看看,为什么每次都说已到文件结尾,还有别的问题吗?我是新手,不好意思,我刚开始学JAVA,通过自己想的先写一个,请大家帮助看一下!
谢谢大家啦!
{
public static String getName()
{
String aa="fjfj";
aa+="vip";
//System.out.println(aa);
}
public static void main(String[] args)
{
getName();
System.out.println(aa);
}
}
有谁可以帮忙看看,为什么每次都说已到文件结尾,还有别的问题吗?我是新手,不好意思,我刚开始学JAVA,通过自己想的先写一个,请大家帮助看一下!
谢谢大家啦!
故需要return语句
(2)aa为方法getName中的局部变量,在主方法中访问不到,可以通过方法的返回值直接实现打印
程序修改如下:class Aa {
public static String getName() {
= "fjfj";
aa += "vip";
return aa;
} public static void main(String[] args) { System.out.println(getName());
}
}
class test{
static String aa;
public static void getName()
{
aa="fjfj";
aa+="vip";
}
public static void main(String[] args)
{
getName();
System.out.println(aa);
} }
{
public static String getName()
{
String aa="fjfj";
return aa+="vip";
}
public static void main(String[] args)
{ System.out.println(getName());
}
}
////多看看例子吧。
public static String getName() {
String aa = "fjfj";
aa += "vip";
return aa;
} public static void main(String[] args) {
getName();
System.out.println(getName());
}
}
这是我改的代码
也就是要写return aa;这句话,其次你不能在main方法中直接用aa,但可以通过getName()方法
取得aa的值
希望你继续努力学习Java,加油!
在eclipse里面会有很多的提示
红色波浪线的那种
不是String 定义的变量内容不能变了么,变量内容要是变的话要用StringBuffer么(有点糊涂了)
public static String getName(String name) {
String aa ="";
aa +=name;
return aa;
} public static void main(String[] args) {
String s;
s=getName("fjfj");
s+=getName("vip");
System.out.println(s);
}
}
也就是说。如果定义String s = "dd";这个时候"dd"这个字符就有一个内存空间,然后再s=s+"ff"这样的话"ddff"会在另外一块内存上被分配空间,并且s此时指向"ddff"的这块内存,而用StringBuffer的话可以在原内存基础上进行值的修改,这个与String与StringBuffer的内部实现有关,StringBuffer有缓存,而String内部其实是用char[]实现的。