JAVA简明教程习题答案
                                   
第二章
课堂习题:
public class Main
{
    public static void main(String[] args) {
        //initialization phase初始段
        float f1 = 2.5f;
        float f2;
        int a = 7;
        int b = 2;
        int c;
       
        //processing phase  处理段
        f2 = f1 + (a/b);
        c = (a/b);
       
        //termination phase终止段
        System.out.println("f2的值为: " + f2);
        System.out.println("c的值为: " + c);
    }
}
课后习题:
2-4
(小程序部分)
import java.applet.*;
import java.awt.*;
public class Gess extends Applet
{
    public void paint(Graphics g)
    {
      //3~10000中的任意数
      int m = 20;
      int n = 9993;
     
      g.drawString("本程序仅对3~10000中任意取的整数: ",80,50);
      g.drawString("20" ,80,65);
      g.drawString("9993" ,80,80);
      g.drawString("进行测试! " ,80,95);
     
      while (m !=1)                    //假设最后得到的数一定是1,则如果不为1就换算
        {
            if (m %2 == 0)            //如果被2整除则为偶数,除以2
              m  = m /2;
            else                        //如果不被2整除则为奇数,乘以3再加1
            {
                m  = m *3 + 1;
            }
           
        }
     
        while (n !=1)                    //假设最后得到的数一定是1,则如果不为1就换算
        {
            if (n %2 == 0)                //如果被2整除则为偶数,除以2
              n  = n /2;
            else                        //如果不被2整除则为奇数,乘以3再加1
            {
                n  = n *3 + 1;
            }
           
        }
      g.drawString("20换算后的值为:        " + m,80,110);
      g.drawString("9993换算后的值为:  " + m,80,125);
   
     
    }
}
(程序部分)
import java.io.*;  //引入java.io中的所有类(含输入输出类),因为程序中要用到输入类的read()方法
public class Main float up
{
    public static void main(String[] args)
    {
        byte []buf =new byte[50];      //50个字节的数组用于存字符串
        String str;   
        long m = 0;
        System.out.println("请输入3~10000中的任意整数(回车确认):");
       
        try        //try 语气
        {
              ad(buf);              //从键盘读入一数字串保存于buf中
              str = new String(buf);                //buf转换成字符串对象str
              m = Long.im());      //数字转换成整数
             
        }catch (Exception e){}      //catch语气,Exception为异常类
       
        while (m !=1)                //假设最后得到的数一定是1,则如果不为1就换算
        {
            if (m %2 == 0)          //如果被2整除则为偶数,除以2
              m  = m /2;
            else                    //如果不被2整除则为奇数,乘以3再加1
            {
                m  = m *3 + 1;
            }
           
        }
        System.out.println("换算后的值为:\t" + m);
    }
}
2-6
public class Main
{
    public static void main(String[] args)
    {
        // initialization phase //初始段
        int j = 1;
        int []a;          //用于存放第一个骰子的点数的整形数组
        int []b;          //用于存放第二个骰子的点数的整形数组
        int two = 0;      //相加和为2的计数器
        int sev = 0;        //相加和为7的计数器
        int twe = 0;        //相加和为12的计数器
        int oth = 0;        //相加和为其他数的计数器
        a = new int [6];      //分配数组空间
        b = a;  //骰子的点数相同,这里将数组a赋给数组b(这时b和a同用一块内存空间)
       
        //processing phase  处理段
        for(int i = 0; i < 6; i++)          //通过循环赋值方式初始化数组
        {
            a[i] = j++;
        }
        for(int i = 0; i < 3600; i++)    //测试3600次
        {
            //生成0~5随机数
            int m = (int)(((Math.random())*6 ));
            int n = (int)(((Math.random())*6 ));
           
            if ((a[m] + b[n]) == 2)                //当相加和为2时对应计数器加1
                two++;
            else if ((a[m] + b[n]) == 7)          //当相加和为7时对应计数器加1
                sev++;
            else if((a[m] + b[n]) == 12)            //当相加和为12时对应计数器加1
                twe++;
            else                            //当相加和为其他数时对应计数器加1
                oth++;
        }
       
        //termination phase 终止段
        //输出结果
        //((float)two/3600)为将two/3600的结果强制转换成浮点数输出,否则输出为0
        System.out.println("相加的和为  2 的次数是:\t" + two
                + ";\t可能性为:\t" + ((float)two/3600));
        System.out.println("相加的和为  12 的次数是:\t" + twe
                + ";\t可能性为:\t" + ((float)twe/3600));
        System.out.println("相加的和为  7 的次数是:\t"+ sev
                + ";\t可能性为:\t" + ((float)sev/3600));
        System.out.println("相加的和为其他数的次数是:\t"
                + oth + ";\t可能性为:\t" + ((float)oth/3600) );
    }
}

第三章
课堂习题
随机产生26个英文字母a-z,直到大于u为止,用while或for语气实现
public class Main {
    public static void main(String[] args)