运行结果怎么是5呢?怎么比较的呢class Example5_3
{
public static void main(String args[])
{
int number=0;
String s="student;entropy;engage,englist,client";
for(int k=0;k<s.length();k++)
{
if(s.regionMatches(k,"en",0,2))
{
number++;
}
}
System.out.println("number="+number);
}
}2.     (1) float n=Float.parseFloat("12383.3839")  
        与
       (2)float n=Float.valueOf("1233.38").floatValue()    //Float.valueOf("1233.38")这里不是已经转换成float型了吗?后面这个floatValue()起的啥作用啊
        //(1)与(2)有什么区别吗?
3.
class Example5_10
{
public static void main(String args[])
{
String s="清华大学出版社";
char a[]=s.toCharArray();
for(int i=0;i<a.length;i++)
{
a[i]=(char)(a[i]^'t');   //啥意思啊,为啥要强制转换呢(char)
}
String secret=new String(a);
System.out.println("密文:"+secrect);
for(int i=0;i<a.length;i++)
{
a[i]=(char)(a[i]^'t');
}
String code=new String(a);
System.out.println("原文:"+code);
}
}

解决方案 »

  1.   

    1:检查s中字符串有几个en 有一个number++
    2:一个是string,一个是float
    3:不太了解,应该是和上边的char a[]有关吧
      

  2.   

    1 第一个。计算en出现过多少次
    2    (1) float n=Float.parseFloat("12383.3839")  
            与
           (2)float n=Float.valueOf("1233.38").floatValue()    //Float.valueOf("1233.38")这里不是已经转换成float型了吗?后面这个floatValue()起的啥作用啊
            //(1)与(2)有什么区别吗?Float.valueOf("1233.38"); 是将字符串形式的转成Float对象..Float和float不同.Float是一个包装类对象..调用他的floatValue()方法才能得到基本类型float
    整个意思就是先将字符串转成Float对象.然后调用floatValue()方法将这个对象转为float形3是将值与't'的ASCii码异或..然后得到一个int形。然后再强制转换成char.
    char转成int不用强转。但int转换成char可能会造成精度丢失.所以要强转