1、Java 作业题答案 (以下程序均调试通过) 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 cheng
2、ji=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.ut
3、il.*; 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;
4、 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++; } S
5、ystem.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; }
6、 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){ th
7、is.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[ ]) { D
8、engCha 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; cl
9、ass A{
int f(int m,int n){
if(m*n<0)
{ System.out.println("有负数,程序退出");
System.exit(0);
}
if(m 10、 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[ ])
{ 11、
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.p 12、rintln(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最大公约数
}
然后编写一个该类的子类,要求重写子 13、类方法f(),而且重写的方法将返回这两个数的最小公倍数。要求:在重写的方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将(a*b)/m返回;在应用程序的主类分别使用父类和子类创建对象,并分别调用方法f()计算两个正整数的最大公约数和最小公倍数。
import java.util.Scanner;
class A
{
public int f(int m,int n)
{
if(m 14、
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
return n;
}
}
class B extends A
{
public int f(int m,int n)
{
int division=super.f(m,n);
return (m*n)/division;
}
}
public class ZuoYe5_1
{
public static void main (String args[ ]) 15、
{
A a=new A();
B b=new B();
Scanner reader=new Scanner(System.in);
System.out.println("输入2个整数,程序计算出它们的最大公约数和最小公倍数");
System.out.print("输入第一个整数:");
int m=reader.nextInt();
System.out.print("输入第二个整数:");
int n=reader.nextInt();
if(m*n<0)
{ System.out.println("有负数,程序退出");
System.exit(0);
}
System.out.printf("%d和%d的最大公约数是%d\n",m,n,a.f(m,n));
System.out.printf("%d和%d的最小公倍数是%d\n",m,n,b.f(m,n));
}
}






