JAVA课后习题答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*<p>这是第三个程序</p>
*@author饶林
*@
*/
importjava.util.*;
publicclassPraxis2_7
{
public static voidmain(String[]args)
{
ScannerconsoleScanner =newScanner( System.in );
*/
publicclassPraxis2_10{
public static voidmain(String[] args){
intx,y,z;
for(intm=100; m< 999; m++){
x = m/100;
y = (m%100)/10;
z = (m%100)%10;
if(m== x*x*x+ y*y*y + z*z*z)
System.out.print("请输入正实数X:" );
intx = consoleScanner.nextInt();
inty=(int)(Math.sqrt(x));
System.out.println("n = "+y);
}
}
/**
*<p>这是第四个程序</p>
*@author饶林
*@
doublee=1.0;
for(inti=1;i<=n;i++)
{
e=e+1.0/Praxis2_12.factorial(i);
}
System.out.println("e = "+e);
}
staticdoublefactorial(int a)//计算阶乘的静态方法
{
doublef=1.0;
for(intj=1;j<=a;j++)
}
}
答:抽象类:what can I do?
接口:I can do it.
例子:就像铁门木门都是门(抽象类),你想要个门我给不了(不能实例化),但我可以给你个具体的铁门或木门(多态);而且只能是门,你不能说它是窗(单继承);一个门可以有锁(接口)也可以有门铃(多实现)。门(抽象类)定义了你是什么,接口(锁)规定了你能做什么(一个接口最好只能做一件事,你不能要求锁也能发出声音吧(接口污染))。
inti,j,sum;
for(i = 1; i <= 1000; i++){
//sum归0必须在此处
sum=0;
for(j=1; j<= i/2; j++){
if((i%j)==0)
sum = sum+j;
}
if(i == sum)
System.out.print(i + " ");
}
}
}
解析:
/**
答:不能,需强制类型转换。
1)
V=(4/3)*math.PI*math.pow(r,3);
2)R=1/(1/R1+1/R2)
原式
3)y=x5+x3+6
y=pow(x,5)+pow(x,3)+6;
4)F=M1M2/R2
F=M1*M2/R*R
5)
Math.sin(x) / ax + Math.cos(π*x/2)>0 ? Math.cos(π*x/2) : - Math.cos(π*x/2);
day = 5; x2= 0;
while(day > 0){
x1 = (x2+1)*2;
x2 = x1;
day--;
}
System.out.println("共有"+ x2+"个桃子。");
System.out.println("---------1; i< 6; i++){
}
System.out.println();
}
}
}
1)while(x <= y) x*=2;
X=160,y=110;
2) do {x = y/x; y= y-x;} while (y > = 1);
X=18,y=0;
/**
*<p>这是第五个程序</p>
*@author饶林
*@
6) 0 < a <10
a > 0 && a < 10
7)条件x=1与y=2有且只有一个成立
( x == 1 && y != 2) || (x != 1 && y == 2)
1)b=a*a++;
b = 16, a = 5;
2)c = ++a+a;
c = 10, a = 5;
答:领悟第四题完全就可以理解前缀++后缀++
--亦如此。
解析:什么是数的因子?因子就是所有可以整除这个数的数,但是不包括这个数自身.
//HelloWorld.java
/**
*<p>这是第二个程序</p>
*@author饶林
*@
*/
publicclassPraxis2_6{
public static voidmain(String[] args) {
System.out.println("Hello World!");
}
}
答:Java语言使用Unicode字符集,共有65535个字符。
答:由字母(包括英文字母、下划线、美元字符、文字字符)和数字字符组成。
限定标识符的第一个字符不能是数字。
答:基本的数据类型也称为原始数据类型,是系统预先规定的一些常用类型。它们是:整数类型、浮点数(实数)类型、字符(文字)类型、逻辑类型(布尔型)。
答:类是对同一种对象的描述,类概括了同类对象的共有性质:数据和方法。类的每个对象都有自己的标识,但它们具有相同的一组属性和提供相同的一组方法。
答:一般静态的数据和方法使用类变量。
超类
子类
Private
No
(默认)
Yes
Protect
Yes
Public
Yes
答:重写
答:不应许,子类中定义一个方法,并且这个方法的名字、返回类型、参数个数、和类型与从父类继承的方法完全相同。
float c = a + b;
^
解析:
//样例大家扩展
classComplex{
doublea,b;
Complex(){}
Complex(doublea,doubleb){
this.a = a;
this.b = b;
}
publicStringPrint(){
Stringresult=newString(this.a + (b>0?"+":"") + (b!=0?this.b +"i" :""));
例如:
classR{
intadd(){
int a=2;
returna++;
}
}
publicclassRR extends R{
floatadd(){
floata=2.0;
returna;
}
public static voidmain(String[] args){
System.out.println(add());
学习网址
答:强类型。
编译和解释。
自动无用内存回收功能。
面向对象。
与平台无关。
安全性。
分布式计算。
多线程。
答:安装SUN的JDK,配置classpath
编写源文件。
编译。
运行。
答:应用程序必须在一类中定义一个main()方法,该方法代表应用程序的入口。
小应用程序不必定义main()方法,但是必须继承applet类。
1)E-42)A4233)-1E-314)0xABCL5).32E316)0877)0x L
8)0039)0x12.510)07711)11E12)056L13)0.14).0
答:整形常量:4,5,6,8,10,12
浮点型:1,3,9,13,14
两者都不是:2,7,11
答:能,例如char类型a自加后变b
intx = consoleScanner.nextInt();
for(inty=0; y< x; y++){
for(intm=x-y-1; m>0; m--){
System.out.print(" ");
}
for(intn=0; n< y+1; n++){
System.out.print("*");
答:和类命名规则一样,首字母大写。
答:选择SUN的IDE,用UltraEdit-32编写如下:
//HelloWorld.java
/**
*<p>这是第一个程序</p>
*@author饶林
*@
*/
classHelloWorld{
public static voidmain(String[] args) {
int east;
east = x2/2 + 1;
x2 = x2/2-1;
System.out.println("第" +i + "天吃" +east+ "个。");
}
System.out.println("----------------------------");
}
}
答:程序设计者考虑的是对象的描述,对象间的关系,类的管理、什么时候什么地方调用对象的那一种方法。
inttest=x;
while(test>0)//把整数的各个位上的数存到数组里
{
a[i]=test%10;
test=test/10;
i++;
}
for(intj=0;j< i;j++)
{
if(a[j]!=a[i-j-1])
{
b=false;
break;
}
}
if(b)System.out.println(x+"是回文整数");
for(intj=0;j<=100;j++)
for(intk=0;k<=100;k+=3)//鸡雏的个数必须使3的倍数
{
if(( (5*i+3*j+k/3)==100 )&& (i+j+k==100))
System.out.println("鸡翁:"+i+";鸡母:"+j+";鸡雏:"+k);
}
}
}
elseSystem.out.println(x+"并不是回文整数");
}
}
/**
*<p>这是第九个程序</p>
*@author饶林
*@
*/
publicclass Praxis2_15{
publicstaticvoid main(String[] args){
intday,x1,x2;
最大的优点是面向对象编程能有效地支持重用,是超大规模的程序也变得相对容易维护。
答:面向过程的语言编程编程模式是:
程序=数据结构+算法
编程时需要考虑的是程序做什么,怎么做,重点考虑每个实现的细节。
面向对象的编程模式:
程序=对象+消息
程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的那一种方法。
*/
importjava.util.*;
publicclassPraxis2_8{
public static voidmain(String[] args){
ScannerconsoleScanner =newScanner(System.in);
System.out.print("请输入正整数x:");
{
inta[]=newint[100];
inti=0;
booleanb=true;
ScannerconsoleScanner =newScanner(System.in );
System.out.print("请输入一个int型整数:");
intx = consoleScanner.nextInt();
f=f*j;
returnf;
}
}
/**
*<p>这是第八个程序</p>
*@author饶林
*@
*/
importjava.util.*;
publicclassPraxis2_14//输入整数,判断是否是回文整数
{
public static voidmain(Stringargs[])
e = 1+1/1! + 1/2! + 1/3!......
/**
*<p>这是第七个程序</p>
*@author饶林
*@
*/
publicclassPraxis2_12
{
public static voidmain(Stringargs[])
{
intn=1000;//计算精度
System.out.print(m + " ");
}
}
}
/**
*<p>这是第六个程序</p>
*@author饶林
*@
*/
publicclassPraxis2_11
{
public static voidmain(Stringargs[])
{
for(inti=0;i<=100;i++)
return result;
}
publicComplex add(Complex val){
答:Java API的Applet类为您提供设计applet程序外观并管理其动作时所需要的支持。该类提供一种叫做Panel(面板)的图形用户界面(GUI)组件以及大量方法。要创建一个applet程序,就需要扩展该Applet类(或创建子类)并实现您所需要的外观和动作。
Takecare.java:5:无法从静态上下文中引用非静态变量a
*@author饶林
*@
*/
importjava.util.*;
publicclassPraxis2_7
{
public static voidmain(String[]args)
{
ScannerconsoleScanner =newScanner( System.in );
*/
publicclassPraxis2_10{
public static voidmain(String[] args){
intx,y,z;
for(intm=100; m< 999; m++){
x = m/100;
y = (m%100)/10;
z = (m%100)%10;
if(m== x*x*x+ y*y*y + z*z*z)
System.out.print("请输入正实数X:" );
intx = consoleScanner.nextInt();
inty=(int)(Math.sqrt(x));
System.out.println("n = "+y);
}
}
/**
*<p>这是第四个程序</p>
*@author饶林
*@
doublee=1.0;
for(inti=1;i<=n;i++)
{
e=e+1.0/Praxis2_12.factorial(i);
}
System.out.println("e = "+e);
}
staticdoublefactorial(int a)//计算阶乘的静态方法
{
doublef=1.0;
for(intj=1;j<=a;j++)
}
}
答:抽象类:what can I do?
接口:I can do it.
例子:就像铁门木门都是门(抽象类),你想要个门我给不了(不能实例化),但我可以给你个具体的铁门或木门(多态);而且只能是门,你不能说它是窗(单继承);一个门可以有锁(接口)也可以有门铃(多实现)。门(抽象类)定义了你是什么,接口(锁)规定了你能做什么(一个接口最好只能做一件事,你不能要求锁也能发出声音吧(接口污染))。
inti,j,sum;
for(i = 1; i <= 1000; i++){
//sum归0必须在此处
sum=0;
for(j=1; j<= i/2; j++){
if((i%j)==0)
sum = sum+j;
}
if(i == sum)
System.out.print(i + " ");
}
}
}
解析:
/**
答:不能,需强制类型转换。
1)
V=(4/3)*math.PI*math.pow(r,3);
2)R=1/(1/R1+1/R2)
原式
3)y=x5+x3+6
y=pow(x,5)+pow(x,3)+6;
4)F=M1M2/R2
F=M1*M2/R*R
5)
Math.sin(x) / ax + Math.cos(π*x/2)>0 ? Math.cos(π*x/2) : - Math.cos(π*x/2);
day = 5; x2= 0;
while(day > 0){
x1 = (x2+1)*2;
x2 = x1;
day--;
}
System.out.println("共有"+ x2+"个桃子。");
System.out.println("---------1; i< 6; i++){
}
System.out.println();
}
}
}
1)while(x <= y) x*=2;
X=160,y=110;
2) do {x = y/x; y= y-x;} while (y > = 1);
X=18,y=0;
/**
*<p>这是第五个程序</p>
*@author饶林
*@
6) 0 < a <10
a > 0 && a < 10
7)条件x=1与y=2有且只有一个成立
( x == 1 && y != 2) || (x != 1 && y == 2)
1)b=a*a++;
b = 16, a = 5;
2)c = ++a+a;
c = 10, a = 5;
答:领悟第四题完全就可以理解前缀++后缀++
--亦如此。
解析:什么是数的因子?因子就是所有可以整除这个数的数,但是不包括这个数自身.
//HelloWorld.java
/**
*<p>这是第二个程序</p>
*@author饶林
*@
*/
publicclassPraxis2_6{
public static voidmain(String[] args) {
System.out.println("Hello World!");
}
}
答:Java语言使用Unicode字符集,共有65535个字符。
答:由字母(包括英文字母、下划线、美元字符、文字字符)和数字字符组成。
限定标识符的第一个字符不能是数字。
答:基本的数据类型也称为原始数据类型,是系统预先规定的一些常用类型。它们是:整数类型、浮点数(实数)类型、字符(文字)类型、逻辑类型(布尔型)。
答:类是对同一种对象的描述,类概括了同类对象的共有性质:数据和方法。类的每个对象都有自己的标识,但它们具有相同的一组属性和提供相同的一组方法。
答:一般静态的数据和方法使用类变量。
超类
子类
Private
No
(默认)
Yes
Protect
Yes
Public
Yes
答:重写
答:不应许,子类中定义一个方法,并且这个方法的名字、返回类型、参数个数、和类型与从父类继承的方法完全相同。
float c = a + b;
^
解析:
//样例大家扩展
classComplex{
doublea,b;
Complex(){}
Complex(doublea,doubleb){
this.a = a;
this.b = b;
}
publicStringPrint(){
Stringresult=newString(this.a + (b>0?"+":"") + (b!=0?this.b +"i" :""));
例如:
classR{
intadd(){
int a=2;
returna++;
}
}
publicclassRR extends R{
floatadd(){
floata=2.0;
returna;
}
public static voidmain(String[] args){
System.out.println(add());
学习网址
答:强类型。
编译和解释。
自动无用内存回收功能。
面向对象。
与平台无关。
安全性。
分布式计算。
多线程。
答:安装SUN的JDK,配置classpath
编写源文件。
编译。
运行。
答:应用程序必须在一类中定义一个main()方法,该方法代表应用程序的入口。
小应用程序不必定义main()方法,但是必须继承applet类。
1)E-42)A4233)-1E-314)0xABCL5).32E316)0877)0x L
8)0039)0x12.510)07711)11E12)056L13)0.14).0
答:整形常量:4,5,6,8,10,12
浮点型:1,3,9,13,14
两者都不是:2,7,11
答:能,例如char类型a自加后变b
intx = consoleScanner.nextInt();
for(inty=0; y< x; y++){
for(intm=x-y-1; m>0; m--){
System.out.print(" ");
}
for(intn=0; n< y+1; n++){
System.out.print("*");
答:和类命名规则一样,首字母大写。
答:选择SUN的IDE,用UltraEdit-32编写如下:
//HelloWorld.java
/**
*<p>这是第一个程序</p>
*@author饶林
*@
*/
classHelloWorld{
public static voidmain(String[] args) {
int east;
east = x2/2 + 1;
x2 = x2/2-1;
System.out.println("第" +i + "天吃" +east+ "个。");
}
System.out.println("----------------------------");
}
}
答:程序设计者考虑的是对象的描述,对象间的关系,类的管理、什么时候什么地方调用对象的那一种方法。
inttest=x;
while(test>0)//把整数的各个位上的数存到数组里
{
a[i]=test%10;
test=test/10;
i++;
}
for(intj=0;j< i;j++)
{
if(a[j]!=a[i-j-1])
{
b=false;
break;
}
}
if(b)System.out.println(x+"是回文整数");
for(intj=0;j<=100;j++)
for(intk=0;k<=100;k+=3)//鸡雏的个数必须使3的倍数
{
if(( (5*i+3*j+k/3)==100 )&& (i+j+k==100))
System.out.println("鸡翁:"+i+";鸡母:"+j+";鸡雏:"+k);
}
}
}
elseSystem.out.println(x+"并不是回文整数");
}
}
/**
*<p>这是第九个程序</p>
*@author饶林
*@
*/
publicclass Praxis2_15{
publicstaticvoid main(String[] args){
intday,x1,x2;
最大的优点是面向对象编程能有效地支持重用,是超大规模的程序也变得相对容易维护。
答:面向过程的语言编程编程模式是:
程序=数据结构+算法
编程时需要考虑的是程序做什么,怎么做,重点考虑每个实现的细节。
面向对象的编程模式:
程序=对象+消息
程序设计者考虑的是对象的描述、对象间的关系、类的管理、什么时候和什么地方调用对象的那一种方法。
*/
importjava.util.*;
publicclassPraxis2_8{
public static voidmain(String[] args){
ScannerconsoleScanner =newScanner(System.in);
System.out.print("请输入正整数x:");
{
inta[]=newint[100];
inti=0;
booleanb=true;
ScannerconsoleScanner =newScanner(System.in );
System.out.print("请输入一个int型整数:");
intx = consoleScanner.nextInt();
f=f*j;
returnf;
}
}
/**
*<p>这是第八个程序</p>
*@author饶林
*@
*/
importjava.util.*;
publicclassPraxis2_14//输入整数,判断是否是回文整数
{
public static voidmain(Stringargs[])
e = 1+1/1! + 1/2! + 1/3!......
/**
*<p>这是第七个程序</p>
*@author饶林
*@
*/
publicclassPraxis2_12
{
public static voidmain(Stringargs[])
{
intn=1000;//计算精度
System.out.print(m + " ");
}
}
}
/**
*<p>这是第六个程序</p>
*@author饶林
*@
*/
publicclassPraxis2_11
{
public static voidmain(Stringargs[])
{
for(inti=0;i<=100;i++)
return result;
}
publicComplex add(Complex val){
答:Java API的Applet类为您提供设计applet程序外观并管理其动作时所需要的支持。该类提供一种叫做Panel(面板)的图形用户界面(GUI)组件以及大量方法。要创建一个applet程序,就需要扩展该Applet类(或创建子类)并实现您所需要的外观和动作。
Takecare.java:5:无法从静态上下文中引用非静态变量a