【TIJ4】第四章全部习题

第四章 没啥好说的......

4.1

 1 package ex0401;
 2 //[4.1]写一个程序打印从1到100的值
 3
 4 public class PrintOneToHundred
 5 {
 6     public static void main(String[] args)
 7     {
 8         for(int i = 1; i <= 100; ++i)
 9             System.out.print(i + " ");
10     }
11 }

4.1

4.2-4.3

 1 package ex040203;
 2 //[4.2]写一个程序,产生25个int类型的随机数.对于每一个随机值,使用if-else语句来讲其分类为大于\小于,或等于紧随它产生的值
 3 //[4.3]修改练习2,把代码用一个while无限循环包括起来.然后运行它直至键盘中断其运行(通常是通过按Ctrl+C).
 4
 5 import java.util.Random;
 6
 7 public class GetRandomInteger
 8 {
 9     public static void main(String[] args)
10     {
11         int i = 0;
12         Random rand = new Random();
13         int curr = rand.nextInt();
14         int prev = 0;
15         //[4.2]
16         while(++i < 25)
17         //[4.3]
18         //while(true)
19         {
20             prev = rand.nextInt();
21             System.out.print(curr + " ");
22             if(curr > prev)
23                 System.out.print("greater than ");
24             else if(curr < prev)
25                 System.out.print("less than ");
26             else
27                 System.out.print("equals ");
28             curr = prev;
29         }
30         System.out.print(prev);
31     }
32 }

4.2-4.3

4.4

 1 package ex0404;
 2 //[4.4]写一个程序,使用两个嵌套的for循环和取余操作符来探测和打印素数
 3
 4 public class GetPrime
 5 {
 6     public static void main(String[] args)
 7     {
 8         System.out.println(2);
 9         for(int number = 3; number < 10000; number += 2)
10         {
11             int index;
12             for(index = 3; index < number ; index += 2)
13             {
14                 if(number % index == 0)
15                     break;
16             }
17             if(index * index > number)
18                 System.out.println(number);
19         }
20     }
21 }

4.4

4.5

 1 package ex0405;
 2 //重复练习[3.10],不要用Integer.toBinaryString()方法,而是用三元操作符合按位操作符来显示二进制的1和0
 3
 4 public class AnotherBitOperation
 5 {
 6     public static void main(String[] args)
 7     {
 8         int first = 0x2AA;
 9         int second =0x133;
10
11         for(int i = 0; ((first >> i) & 0xFFFF) != 0; ++i)
12             System.out.print((first >> i ) & 1);
13         System.out.println("");
14         for(int i = 0; ((second >> i) & 0xFFFF) != 0; ++i)
15             System.out.print((second >> i ) & 1);
16         System.out.println("");
17         for(int i = 0; (((first & second) >> i) & 0xFFFF) != 0; ++i)
18             System.out.print(((first & second) >> i ) & 1);
19         System.out.println("");
20         for(int i = 0; (((first | second) >> i) & 0xFFFF) != 0; ++i)
21             System.out.print(((first | second) >> i ) & 1);
22         System.out.println("");
23         for(int i = 0; (((first ^ second) >> i) & 0xFFFF) != 0; ++i)
24             System.out.print(((first ^ second) >> i ) & 1);
25         System.out.println("");
26     }
27 }

4.5

4.7

 1 package ex0407;
 2 //[4.7]修改本章练习1,通过使用break关键词,使得程序在打印到99时退出.然后尝试用return达到相同目的
 3
 4 public class TestBreakAndReturn
 5 {
 6     public static void main(String[] args)
 7     {
 8         for(int i = 1; i <= 100; ++i)
 9         {
10             if(i == 100)
11                 return;
12                 //break;
13             System.out.print(i + " ");
14         }
15     }
16 }

4.7

4.8

 1 package ex0408;
 2 //[4.8]写一个switch开关语句,为每个case打印一个消息.然后把这个switch放进for循环来测试每个case.
 3 //先让每个case后面都有break,测试一下会怎么样;然后把break删除,看看会怎样.
 4
 5 public class TestSwitch
 6 {
 7     public static void main(String[] args)
 8     {
 9         for(int i = 0; i < 3; ++i)
10         {
11             switch(i)
12             {
13             case 0:
14                 System.out.println("Cat");//break;
15             case 1:
16                 System.out.println("Dog");//break;
17             case 2:
18                 System.out.println("Bird");//break;
19             default:
20                 break;
21             }
22         }
23     }
24 }

4.8

4.9

 1 package ex0409;
 2 //[4.9]一个斐波那契数列是由数字从第三个数字其都是前两个数字的和.
 3 //创建一个方法,接收一个整数参数,并显示从第一个元素开始,总共有该参数指定的个数所构成的所有斐波那契数字.
 4
 5 class Fibonacci
 6 {
 7     private static final int FIRST = 1;
 8     private static final int SECOND = 1;
 9
10     public static void printFibonacci(int length)
11     {
12         if(length <= 0)
13             System.out.println("error!");
14         switch(length)
15         {
16         case 2:
17             System.out.println(FIRST);
18         case 1:
19             System.out.println(SECOND);break;
20         default:
21         {
22             int prevprev = FIRST;
23             int prev = SECOND;
24             int curr;
25             System.out.println(FIRST);
26             System.out.println(SECOND);
27             for(int i = 3; i <= length; ++i)
28             {
29                 curr = prevprev + prev;
30                 System.out.println(curr);
31                 prevprev = prev;
32                 prev = curr;
33             }
34         }
35         }
36     }
37 }
38 public class ShowFibonacci
39 {
40     public static void main(String[] args)
41     {
42         Fibonacci.printFibonacci(10);
43     }
44 }

4.9

时间: 2024-10-05 16:52:56

【TIJ4】第四章全部习题的相关文章

史济怀《复变函数》第四章若干习题解答,4.1节

可能是因为当年本科学的是微积分,级数部分讲的不多,现在这部分习题做起来真的很困难,有不少题目想了很长时间,现在在这里练一练,做个记录. 4.设$0<\alpha<\frac{\pi}{2},\left|{\rm arg}z_{n}\right|\leq\alpha,\forall n\in\mathbb N$.证明级数$\sum z_{n},\sum{\rm Re}z_{n},\sum|z_{n}|$有相同的敛散性. 证明    假设$\sum z_{n}$收敛,显然$\sum{\rm Re}

第四章课后习题

1.结对项目的案例和论文 学术界.工业界对结对编程已经有不少研究,请阅读至少两篇相关论文或论文,结合自己的切身体会总结一下. (1)提高效率 结对编程的形式使得代码处于不断地审查过程,每一段代码都由一个人编写,另一个人检查,最大程度上减少了出现bug的可能:两人互相交流,商讨实现方式,遇到问题时,能够做到互补. (2)互相学习 结对编程也是一个互相学习的过程.在结对编程过程中,两人会不断对实现方法.代码风格或命名方法等进行讨论,两个人的思路能够进行互补,在编写过程中能够学到对方解决问题的思路和方

网络操作系统第四章课后习题解答

1.磁盘的数据结构包括哪些内容? (1)主引导扇区; (2)操作系统引导扇区; (3)文件分配表; (4)目录区; (5)数据区. 2.什么是基本磁盘和动态磁盘? 基本磁盘: 基本磁盘和旧版本Windows操作系统中使用了相同的磁盘结构.在使用基本磁盘时,我们被限制只能在每个磁盘上创建4个主分区或3个主分区加1个扩展分区.在扩展分区内,还可以创建一个或多个逻辑驱动器. 动态磁盘: 动态磁盘功能最初发布于Windows 2000,用于增强磁盘支持,在磁盘配置变动后需要重启动的次数更少,同时对磁盘的

《计算机网络&#183;自顶向下方法》第七版 第四章 课后习题与问题 答案

非官方答案,本人已尽最大努力(包括参考官方答案),使结果正确,如有错误,请大佬指出 正文: 4.1节 R1 网络层的分组名字是"数据报" 路由器和链路层交换机的根本区别是,所在的网络层次不同 R2 数据平面的主要功能是转发 控制平面的主要功能是路由选择 R3 转发通常在硬件上实现,功能是通过转发表将数据分发到下一个路由器的接口 路由选择通常在软件上实现,功能是确定转发表的内容 R4 指导路由器进行转发操作,路由器通过查询转发表,获取即将要转发的数据,应该发送到哪一个接口 R5 尽力而为

C和指针 (pointers on C)——第四章:语句(下)习题解答

题目请见 http://download.csdn.net/download/wangpegasus/5701765 第四章以下通过VS2012 1. #include "stdafx.h" double sqrt(double temp) { double before, after; before = 1.0; after = 1.0; do { before = after; after = (before + temp/before)/2; } while (before !=

Python核心编程(第二版) 第四章习题答案

4-1.Python对象.与所有Python对象有关的三个属性是什么?请简单的描述一下.答:与所有Python对象有关的三个属性是身份.类型.值.身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到.这个值可以被认为是该对象的内存地址.类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么规则.可以用内建函数type()来查看Python的类型.值:对象表示的数据项.4-2.类型.不可更改(immutable)指的是什么?Pyth

第四章习题:斐波那.契数列&amp;&amp;吸血鬼数字

package com.twoslow.cha4; /** * 斐波那契数列:从3个数字起,每一个数都是前2个数之和:1 1 2 3 5 8 13... * @author sai * */ public class Fibonacci { public static void main(String[] args) { for(int i = 0 ; i < 10 ;i++) { System.out.print(fib(i) + "."); } } public static

统计学习导论:基于R应用——第四章习题

第四章习题,部分题目未给出答案 1. 这个题比较简单,有高中生推导水平的应该不难. 2~3证明题,略 4. (a) 这个问题问我略困惑,答案怎么直接写出来了,难道不是10%么 (b) 这个答案是(0.1*0.1)/(1*1),所以答案是1% (c) 其实就是个空间所占比例,所以这题是(0.1**100)*100 = 0.1**98% (d) 这题答案显而易见啊,而且是指数级别下降 (e) 答案是0.1**(1).0.1**(1/2).0.1**(1/3)...0.1**(1/100) 5. 这题

计算机组成原理_第四版课后习题答案(完整版)

计算机组成原理_第四版课后习题答案(完整版) ?第一章 1.?比较数字计算机和模拟计算机的特点. 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的: 数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行. 两者主要区别见P1?表1.1. 2.?数字计算机如何分类?分类的依据是什么? 解:分类: 数字计算机分为专用计算机和通用计算机.通用计算机又分为巨型机.大型机. 中型机.小型机.微型机和单片机六类. 分类依据:专用和通用是根据计算机的效率.速度.价格.运行的经济性和适应性来划