Java复习习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

P13 2.参照例1-2编写一个java applet程序,程序能在浏览器中显示“你好,Hello”。(见p11例1-2)

P24 2.参照2-4编写一个java应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积。

import java.util.*;

public class ZuoYe2_2{

public static void main (String args[ ]){

Scanner reader=new Scanner(System.in);

long chengji=1;

int m=0;

while(reader.hasNextInt()){

int x=reader.nextInt();

m=m+1;

chengji=chengji*x;

}

System.out.println(m+"个数的乘积为"+chengji);

}

}

P41 1.有一个函数Y=-1+2x,x<0;-1,x=0;-1+3x,x>0编写一个java应用程序,从键盘输入一个X值,程序输出Y值。import java.util.*;

public class ZuoYe3_1{

public static void main (String args[ ]){

Scanner reader=new Scanner(System.in);

double y=0,x=0;

x=reader.nextDouble();

if(x<0)

y=-1+2*x;

else if(x==0)

y=-1;

else if(x>0)

y=-1+3*x;

System.out.println(y);

}

}

P41 2.编写一个java程序,使用while循环计算1-1000之间能被3和7同时整除的整数之和。

public class ZuoYe3_2{

public static void main(String args[]){

int sum=0,m=3,n=7,a=1;

while(a<=1000){

if(a%m==0&&a%n==0)

sum=sum+a;

a++;

}

System.out.println("sum="+sum);

}

}

P41 3.编写一个java程序,使用for循环计算8+88+888+8888+88888…的前十项和。

public class ZuoYe3_3{

public static void main(String args[])

{

long sum=0,a=8,item=a,n=10,i=1;

for(i=1;i<=n;i++)

{ sum=sum+item;

item=item*10+a;

}

System.out.println(sum);

}

}

P78 1.编写一个类,该类创建的对象可以计算等差数列的和。

class DengCha{

int start,d;

DengCha(){

}

DengCha(int start,int d){

this.start=start;

this.d=d;

}

void setStart(int s){

start=s;

}

void setD(int d){

this.d=d;

}

int getSum(int n){

int sum=0,i=1;

while(i<=n){

sum=sum+start;

start=start+d;

i++;

}

return sum;

}

}

public class ZuoYe4_1 //这个类的应用

{

public static void main (String args[ ])

{

DengCha shulie=new DengCha(2,3);

System.out.println(shulie.getSum(100));

shulie.setStart(10);

shulie.setD(5);

System.out.println(shulie.getSum(9));

}

}

P78 4.编写两个类:A和B,类A创建的对象可以计算两个正整数的最大公约数,类B创建的对象可以算两个数的最小公倍数。要求:类B中有一个成员变量是用类A的声明对象。

import java.util.Scanner;

class A{

int f(int m,int n){

if(m*n<0)

{ System.out.println("有负数,程序退出");

System.exit(0);

}

if(m

{ int temp=m;

m=n;

n=temp;

}

int a=m,b=n;

int r=m%n;

while(r!=0)

{ m=n;

n=r;

r=m%n;

}

return n;

}

}

class B{

A a; // a为类A声明的变量(个人理解)

B(){

a=new A();

}

int g(int m,int n){

int temp=a.f(m,n);

return m*n/temp;

}

}

public class ZuoYe4_4

{

public static void main (String args[ ])

{

Scanner reader=new Scanner(System.in);

System.out.println("输入2个正整数,程序计算出它们的最大公约数和最小公倍数");

System.out.print("输入第一个整数:");

int m=reader.nextInt();

System.out.print("输入第二个整数:");

int n=reader.nextInt();

A a=new A();

B b=new B();

System.out.println(m+"和"+n+"的最大公约数是"+a.f(m,n));

System.out.println(m+"和"+n+"的最小公倍数是"+b.g(m,n));

}

}

P78 5.编写使用了包语句的类,然后在应用程序中用import语句引入该类,并用该类创建对象。(见p76-p77) P111 1.编写一个类,该类有一个方法

Public int f(int a,int b){

//要求该法返回a和b最大公约数

}

然后编写一个该类的子类,要求重写子类方法f(),而且重写的方法将返回这两个数的最小公倍数。要求:在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将(a*b)/m返回;在应用程序的主类分别使用父类和子类创建对象,并分别调用方法f()计算两个正整数的最大公约数和最小公倍数。

相关文档
最新文档