【TIJ4】第三章全部习题

题目都相当简单没啥说的直接放代码就行了...

3.1

 1 package ex0301;
 2 //[3.1]使用“简短的”和正常的打印语句来写一个程序
 3
 4 import static java.lang.System.out;
 5 public class Abbreviate
 6 {
 7     public static void main(String[] args)
 8     {
 9         System.out.println("Hello, world! [complete]");
10         out.println("Hello, world! [abbreviate]");
11     }
12 }

3.1

3.2

 1 package ex0302;
 2 //[3.2]创建一个包含一个float域的类,并用这个类来展示别名机制
 3 class ShowByname
 4 {
 5     private float elem;
 6     public float getElem() { return elem; }
 7     public void setElem(float _elem) { elem = _elem; }
 8 }
 9
10 public class Byname
11 {
12     public static void main(String[] args)
13     {
14         ShowByname test1 = new ShowByname();
15         test1.setElem(1.333f);
16         System.out.println("test1.elem = " + test1.getElem());
17
18         ShowByname test2 = test1;
19         System.out.println("test2.elem = " + test2.getElem());
20
21         //仅修改引用test2并观察
22         test2.setElem(3.14159f);
23         System.out.println("test1.elem = " + test1.getElem());
24         System.out.println("test2.elem = " + test2.getElem());
25     }
26 }

3.2

3.3

 1 package ex0303;
 2 //[3.3]创建一个包含一个float域的类,并用这个方法来展示方法调用时的别名机制
 3
 4 class ShowFunByname
 5 {
 6     public float elem = 3.14f;
 7 }
 8
 9 public class FunByname
10 {
11     static void f(ShowFunByname test)
12     {
13         test.elem = 1.414f;
14     }
15
16     public static void main(String[] args)
17     {
18         ShowFunByname test = new ShowFunByname();
19         System.out.println("1: elem = " + test.elem);
20
21         f(test);
22         System.out.println("2: elem = " + test.elem);
23     }
24 }

3.3

3.4

 1 package ex0304;
 2
 3 //[3.4]编写一个计算速度的程序,它使用的距离和时间都是常量
 4 class CalVelocity
 5 {
 6     private final double distance = 100.0;
 7     private final double time = 3.5;
 8     public double getVelocity() { return distance/time; }
 9 }
10
11 public class Velocity
12 {
13     public static void main(String[] args)
14     {
15         CalVelocity test = new CalVelocity();
16         System.out.println(test.getVelocity()+"km/h");
17     }
18 }

3.4

3.5-3.6

 1 package ex030506;
 2
 3 //[3.5]创建一个名为Dog的类,它包含两个String域:name和says.在main方法中,创建两个Dog对象.
 4 //一个名叫spot,叫声为“Ruff!”;另一个名为scruffy,叫声为"Wurf!".然后显示它们的名字和叫声.
 5 //[3.6]在练习5的基础上,创建一个新的Dog索引,并对其赋值为spot对象.测试用==和euqals()方法来比较所有引用的结果.
 6
 7 class Dog
 8 {
 9     private String name;
10     private String says;
11     public Dog(String _name, String _says)
12     {
13         name=_name;
14         says=_says;
15     }
16
17     public String getName() { return name; }
18     public String getSays() { return says; }
19 }
20
21 public class TestEqual
22 {
23     public static void main(String[] args)
24     {
25         //[3.5]
26         Dog dogA = new Dog("spot" , "Ruff!");
27         Dog dogB = new Dog("scruffy" , "Wurf!");
28         System.out.println("dogA‘s name is " + dogA.getName()+" and says "+dogA.getSays());
29         System.out.println("dogB‘s name is " + dogB.getName()+" and says "+dogB.getSays());
30
31         //[3.6]
32         Dog dogindex = dogA;
33         System.out.print(dogindex==dogA); System.out.println(dogindex.equals(dogA));
34         System.out.print(dogA==dogB); System.out.println(dogA.equals(dogB));
35         System.out.print(dogindex==dogB); System.out.println(dogindex.equals(dogB));
36     }
37 }

3.5-3.6

3.7

 1 package ex0307;
 2 //[0307]编写一个程序模拟随机扔硬币的结果
 3
 4 class Coin
 5 {
 6     private boolean state;
 7     public boolean toss()
 8     {
 9         state=(Math.random() < 0.5);
10         return state;
11     }
12 }
13 public class TestCoin
14 {
15     public static void main(String[] args)
16     {
17         Coin onedollar = new Coin();
18         for(int i = 0; i < 20; ++i)
19             System.out.print(onedollar.toss() + " ");
20     }
21 }

3.7

3.8

 1 package ex0308;
 2 //[3.8]展示用十六进制和八进制计数法来操作long值,用Long.toBinaryString()来显示结果.
 3
 4 public class TestOctHex
 5 {
 6     public static void main(String[] args)
 7     {
 8         long first = 256L;
 9         long second = 0256L;
10         long third = 0x256L;
11
12         System.out.println("first = " + Long.toBinaryString(first));
13         System.out.println("second = " + Long.toBinaryString(second));
14         System.out.println("third = " + Long.toBinaryString(third));
15     }
16 }

3.8

3.9

 1 package ex0309;
 2 //[3.9]分别显示用float和double指数计数法所能表示的最大和最小的数字
 3
 4 public class ExpLimit
 5 {
 6     public static void main(String[] args)
 7     {
 8         double doublemax = Double.MAX_VALUE;
 9         double doublemin = Double.MIN_VALUE;
10         float floatmax = Float.MAX_VALUE;
11         float floatmin = Float.MIN_VALUE;
12
13         System.out.println("doublemax = " + doublemax);
14         System.out.println("doublemin = " + doublemin);
15         System.out.println("floatmax = " + floatmax);
16         System.out.println("floatmin = " + floatmin);
17     }
18 }

3.9

3.10

 1 package ex0310;
 2 //[3.10]编写一个具有两个常量值的程序,一个具有交替的二进制位1和0,其中最低有效位为0,另一个也具有交替的二进制位1和0,其中最低有效位为1.
 3 //取这两个值,用按位操作符以所有可能的方式结合运算它们,然后用Integer.toBinaryString()显示
 4
 5 public class TestBitOperation
 6 {
 7     public static void main(String[] args)
 8     {
 9         int first = 0x2AA;
10         int second =0x133;
11         System.out.println("first = " + Integer.toBinaryString(first));
12         System.out.println("sceond = " + Integer.toBinaryString(second));
13         System.out.println("first & second = " + Integer.toBinaryString(first & second));
14         System.out.println("first | second = " + Integer.toBinaryString(first | second));
15         System.out.println("first ^ second = " + Integer.toBinaryString(first ^ second));
16         System.out.println("~first = " + Integer.toBinaryString(~first));
17         System.out.println("~sceond = " + Integer.toBinaryString(~second));
18     }
19 }

3.10

3.11-3.12

 1 package ex031112;
 2 //[3.11]以一个最高有效位为1的二进制数开始,用有符号右移操作符对其进行右移,直至所有的二进制位都被移出为止,每移一位都显示二进制字符串效果.
 3 //[3.12]以一个所有位都为1的二进制数字开始,先左移它,然后用无符号右移操作符对其进行右移,直至所有二进制位都移出为止,每移一位都要显示二进制字符串效果.
 4
 5 public class TestBitShift
 6 {
 7     public static void main(String[] args)
 8     {
 9         //[3.11]
10         int first = 0xF3A7;
11         while(first != 0)
12         {
13             first >>= 1;
14             System.out.println(Integer.toBinaryString(first));
15         }
16
17         //[3.12]
18         int second = 0xFFFF;
19         second <<= 1;
20         System.out.println(Integer.toBinaryString(second));
21         while(second != 0)
22         {
23             second >>= 1;
24             System.out.println(Integer.toBinaryString(second));
25         }
26     }
27 }

3.11-3.12

3.13

 1 package ex0313;
 2 //[3.13]编写一个方法,它以二进制形式显示char类型的值.使用多个不同的字符来展示它.
 3
 4 class TestCharToBinaryString
 5 {
 6     public static String transform(char x)
 7     {
 8         return Integer.toBinaryString((int) x);
 9     }
10 }
11
12 public class CharToBinaryString
13 {
14     public static void main(String[] args)
15     {
16         char first = ‘a‘;
17         char second = ‘&‘;
18         char third = ‘6‘;
19
20         System.out.println("a: " + TestCharToBinaryString.transform(first));
21         System.out.println("&: " + TestCharToBinaryString.transform(second));
22         System.out.println("6: " + TestCharToBinaryString.transform(third));
23     }
24 }

3.13

3.14

 1 package ex0314;
 2 //[3.14]编写一个接收两个字符串参数的方法,用各种布尔值的比较关系来比较这两个字符串,然后把结构打印出来.
 3 //做==和!=比较的同事,用equals()作测试.在main()里面用几个不同的字符串对象调用这个方法
 4
 5 import java.lang.String;
 6 class StringCompare
 7 {
 8     public static void go(String first , String second)
 9     {
10         System.out.println(first + " compareTo " + second + " : " + (first.compareTo(second)));
11         System.out.println(first + " != " + second + " : " + first != second);
12         System.out.println(first + " == " + second + " : " + first == second);
13         System.out.println(first + " equals " + second + " : " + first.equals(second));
14         System.out.println("");
15     }
16 }
17
18
19 public class TestStringCompare
20 {
21     public static void main(String[] args)
22     {
23         String first = new String("Good");
24         String second = new String("Bad");
25         String third = first;
26
27         StringCompare.go(first, second);
28         StringCompare.go(third, second);
29         StringCompare.go(first, third);
30     }
31 }

3.14

时间: 2024-10-05 03:00:24

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

Python编程快速上手-让繁琐工作自动化 第三章 函数习题及其答案

第三章 函数习题及其答案 1.为什么在程序中加入函数会有好处? 答:函数减少了重复的代码.这让程序更短,更容易阅读,更容易修改. 2.函数中的代码何时执行: 在函数被定义时,还是在函数被调用时? 答:函数中的代码在函数被调用时执行,而不是在函数定义时. 3.什么语句创建一个函数? 答:def语句定义了(创建了)一个函数. 4.一个函数和一次函数调用有什么区别? 答:函数包含def语句和在def子句中的代码.函数调用让程序执行转到函数内,函数调用求值为该函数的返回值. 5.Python程序中有多少

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

非官方答案,本人已尽最大努力(包括参考官方答案),使结果正确,如有错误,请大佬指出 正文: 3.1~3.3节 R1 a.如果只是简单想把信件送到,那么所有的头部信息只需要一个目的地址就够了,题目给出端口号四个字节,所有分组的头部那就只需四个字节 此协议规定,运输层的全部任务就是,将应用层的数据,切成最大1196字节的块,把每一块加上目的主机对应程序的端口号,并将得到的分组交付给网络层 在接收方,运输层将网络层报文取回,去掉头部信息,将数据拼接成应用层需要的信息,根据端口号交付给应用层即可 不过话

C语言程序设计:现代方法(第2版)第三章全部习题答案

前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解答,并参考GitHub上相关的分享和Chegg.com相关资料.因为并没有权威的答案来源,所以可能会存在错误的地方,如有错误还希望大家能够帮助指出. 第三章练习题和编程题答案 练习题 3.1节 1.下面的printf函数调用产生的输出分别是什么? (a)  printf("6d,%4d",

第三章 课后习题

3.2 输出一个三位数的逆序数,忽略负号. #include<stdio.h> #include<math.h> int main() { int x,y; scanf("%d",&x); x=fabs(x); int a0,a1,a2; a0=x/100; a1=x%100/10; a2=x%10; y=a2*100+a1*10+a0; printf("%d",y); return 0; } 注意:math.h的绝对值函数是fabs

数据库原理 西安电子科技大学(第三版) 付婷婷 第三章 课后习题答案

CREATE TABLE student_t( sno Char(7) PRIMARY KEY,--学号 sname Varchar(20) NOT NULL,--姓名 ssex CHAR(2) NOT NULL, --性别 sage Smallint, --年龄 CLON CHAR(5) --学生所在班级的编号 ); CREATE TABLE course_t( cno CHAR(1) PRIMARY KEY, --课程编号 cname Varchar(20) NOT NULL, --课程名称

第三章部分习题

3-5 1 #include<cstdio> 2 #include<cstring> 3 4 #define step 20 5 char ins[step]; 6 7 int main() 8 { 9 10 /************************输入********************/ 11 12 char arr[5][5]={ 13 {'T','R','G','S','j'}, 14 {'X','D','O','K','I'}, 15 {'M','0','V

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

1.试对程序.进程.线程的概念和功能进行比较. (1)进程的概念: 关于进程,有很多定义,例如: 1)进程是程序的一次执行: 2)进程是可以和别的进程并发执行的计算: 3)进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行进程: 4)进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位: 5)进程是动态的,有生命周期的活动.内核可以创建一个进程,最终将由内核终止该进程使其消亡: 总的来说,进程是在自身的虚拟地址空间运行的一个单独的程序. (2)进程与程序:

算法竞赛入门经典第二版第三章习题

写这个的原因是看到一位大神的习题答案总结,于是自己心血来潮也想写一个这个,目的主要是督促自己刷题吧,毕竟自己太弱了. 习题3-1 得分 UVa 1585 大致就是设置一个变量记录到当前为止的连续的O的数量,碰到X就变0,水题. #include<stdio.h> #include<ctype.h> #include<string.h> char s[90]; int main(void) { int length,n,sum,num; scanf("%d&qu

【算法竞赛入门经典】【第三章】课后习题(第一部分)

课后习题第三波来了,到第三章之后代码之类的稍微变长了一些,所以我把这一章的答案分为几部分.这一章重点是字符串的处理,对于字符串问题,通常只要细心就没有问题了,下面不多说了直接上详解. 习题3-1 分数统计(stat) 任务1:这个比较简单就直接上代码了: #include <stdlib.h> #include <stdio.h> #include <string.h> #define MAXN 100 + 10 int cmp(const void*a,const v