《JAVA简明教程》习题答案
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 { public static void main(String[] args) { byte []buf =new byte[50]; //50个字节的数组用于存字符串 String str; long m = 0; System.out.println(“请输入3~10000中的任意整数(回车确认):“); try //try 语气 { System.in.read(buf); //从键盘读入一数字串保存于buf中 str = new String(buf); //buf转换成字符串对象str m = Long.parseLong(str.trim()); //数字转换成整数 }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 = ne