{
fact=1;
for(int j=1;j<=i;j++) fact*=j; sum+=fact; }
System.out.println(\到10的阶乘之和是:\} }
4. 编写一个应用程序,求100以内的全部素数。 答:
class Primes {
public static void main(String args[]) {
int w=1;
for(int i=2;i<=100;i++) {
for(int j=2;j
w=i%j; if(w==0) break; }
if(w!=0)
System.out.println(i+\是素数\} } }
5. 分别用do―while和for循环计算1+1/2!+1/3!+1/4!+?的前20项和。 答: ①for循环 class Sum {
public static void main(String args[]) {
int fact;
double sum=0;
for(int i=1;i<=20;i++) {
fact=1;
for(int j=1;j<=i;j++) fact*=j;
sum+=1.0/fact; }
5
System.out.println(sum); } }
②do―while循环 class Sum {
public static void main(String args[]) {
int i=1; int fact;
double sum=0; do {
fact=1; int j=0;
while(++j<=i) fact*=j;
sum+=1.0/fact; }
while(++i<=20);
System.out.println(sum); } }
6. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序,求1000之内的所有完数。 答:
class Wanshu {
public static void main(String args[]) {
int x,i,sum;
for(x=1;x<=1000;x++) {
sum=0;
for(i=1;i if(x%i==0) sum+=i; } if(x==sum) System.out.println(x+\是完数\} } } 6 7. 编写应用程序,分别使用while和for循环计算8+88+888+?前10项之和。 答: ①for循环 class TheSum { public static void main(String args[]) { long sum=0,data=8; for(int i=1;i<=10;i++) { sum=sum+data; data=data*10+8; } System.out.println(sum); } } ②while循环 class TheSum { public static void main(String args[]) { long sum=0,data=8,i=0; while(++i<=10) { sum=sum+data; data=data*10+8; } System.out.println(sum); } } 8. 编写应用程序,输出满足1+2+3+?+n<8888的最大正整数n。 答: class Maxn { public static void main(String args[]) { int k=1,sum=0; while((sum+=k)<8888) k++; k--; System.out.println(\最大能取到:\} } 第4章 类、对象和接口 7 1. 类中的实例变量在什么时候会被分配内存空间? 答: 当该类创建对象之后,实例变量才会被分配相应的内存空间。 2. 什么叫方法的重载?构造方法可以重载吗? 答:①一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同(方法的重载体现了多态性,即功能多态性)。 ②构造方法可以重载。 3. 类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以操作实例变量吗? 答:①类中的实例方法可以操作类变量。 ②类方法不可以操作实例变量 4. 类中的实例方法可以用类名直接调用吗? 答: 类中的实例方法不可以用类名直接调用。 5. 举例说明protected方法和友好方法的区别。 答: 当子类与父类不在同一个包中时,子类可以继承父类的protected方法;而友好方法此时则不能被子类继承。 6. 举例说明类变量和实例变量的区别。 答:⑴书写: 定义成员变量时,类变量有static修饰;实例变量没有static修饰。 例: class A { int x; //实例变量 static int y; //类变量 } ⑵内存: 不创建对象,类的实例变量不会被分配内存空间;类变量被分配相应的内存空间。 不同对象的实例变量被分配不同的内存空间;不同对象的类变量被分配相同的内存空间。 任何一个对象改变类变量,其他对象的相应类变量也发生相应变化。 一个对象的实例变量发生改变,不影响其他对象的相应实例变量。 例: 执行语句: A1.x=10; A1.y=20; 这时A2.x的值也是10;而A2.y的值保持原来的初值。 ⑶使用: 类变量可以被类方法操作;而实例变量不能被类方法操作。 例: class A { int x; static int y; static void func() { b=10; //合法 a=20; //非法 } } 类变量可以通过类名访问;实例变量不能通过类名访问。 8
相关推荐: