java新手问题~ 求各位大神帮帮忙
不好意思,打扰各位大神休息了,在下还有一点点不懂的地方,还指望大神请教一下下
void convert(String i, String j){
a1 = int i; //字符转转整形不能这样写 ,应该用Integer.parseInt(i)
a2 = int j; //同上
1.为什么不能直接用基本数据类型来转换,而要用封装类来转换啊?
2.Integer.parseInt(i)中 Integer是个类但是为什么能直接调用方法啊?
还有~~
t1.convert(a,b); //因为a,b是t1的成员,要写成t1.convert(t1.a,t1.b)
t1.sum(a1,a2); //同理 t1.sum(t1.a1,t1.a2)
是不是在main函数中定义了一个对象,该对象要调用方法时,传递的参数必须要用堆内存中的成员变量啊?
------解决方案--------------------楼上的误人歧途啊
public String change(String s){
char[] c = s.toCharArray();
c[0] = Character.toLowerCase(c[0]);
int a = 0;
if((int)c[0] < (int)'z'-5){
a = (int)c[0]+5;
}else{
a = (int)'a'+5-((int)'z'-(int)c[0])-1;
}
char c1 = (char)a;
return String.valueOf(c1);
}
int类是点不出方法的,只能通过强转,封装类相当于自己重写了int类,可以通过“类.方法”来调用封装类的方法,转换字符串
2.t1是你创建的对象,调用这个对象中的变量用“对象.属性”
------解决方案--------------------2.Integer.parseInt(i)中 Integer是个类但是为什么能直接调用方法啊?
建议你可以去看下API.
Integer,Double,Short,Long,Character,Boolean,Float,Byte,这几个包装类都是系统默认导入的,而这些类里面基本都有parseXXX()静态方法{XXX代表相应类型},所以你就可以直接用了。
另外:
char和int是可以直接转换的.
//省略
int s = 'a'; //65
//省略
别的转换成int可能会出错.