if(a==0.0) { if(b!=0.0){
System.out.println(\ } else {
if(c==0.0)
System.out.println(\
else System.out.println(\ } } else {
p1=-b/(2.0*a); disc=b*b-4.0*a*c;
absdisc=disc>=0?disc:-disc; p2=Math.sqrt(absdisc)/(2.0*a); if(disc<0.0) {
System.out.println(\ }
else { x1=p1+p2; x2=p1-p2;
System.out.println(\ System.out.println(\ } }
} // endfor } }
5、求前40个Fibonacci数列。
Fibonacci数列:1,1,2,3,5,8,13,21,34,? 从数列看到:F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n≥3) 解:
public class Fibonacci {
public static void main(String args[]) {
long f1,f2; int i; f1=1; f2=1;
System.out.println (f1+\
for (i=3;i<=20;i++) { f1=f1+f2; f2=f1+f2;
System.out.println (f1+\ } } }
6、已知公鸡5元1只,母鸡3元一只,小鸡1元3只,要求用100元刚好买100只鸡,问有多少种
采购方案。
解:public class Loop_Loop3_20
{ public static void main(String args[]) { int I,J,K;
System.out.println(\for (I=0;I<=20;I++ ) // I 为公鸡数 {
for ( J=0;J<=33;J++) // J 为母鸡公鸡数 {
K=100-I-J; // K 为小鸡数 if (5*I+3*J+K/3.0==100)
System.out.println(\ } } } }
7、判断一个字符串是否是回文,例如“rotor“反转之后还是”rotor“,所以是回文。需
查阅String类的一些方法。 解:
public class Rotor {
public static void main(String args[]) {
String str=\ int i=0,n;
boolean yes=true; if (args.length>0) str=args[0];
System.out.println(\ n=str.length(); char ch1,ch2; String temp=\ for (i=0;i sub1=str.substring(i,i+1); temp=sub1+temp; } System.out.println(\ System.out.println(str+“ :”+str.equals(temp)); } } 8、求2-1000内的所有素数 class prime { public static void main(String args[]) { int sum=0,i,j; for( j=2;j<=1000;j++) //求50以内的素数 { for( i=2;i<=j/2;i++) {if(j%i==0) break; } if(i>j/2) {System.out.println(\是素数\ } } } } 9、在一个循环中使用break,continue和return有什么不同? 解:在循环中使用break语句,将使循环终止,流程从break语句处跳转到break语句所在的 循环外面的第一个语句继续执行。 在循环中使用continue语句,将提前结束本轮循环,流程跳转到continue语句所在循环的第 一个语句继续执行。 在循环中使用return语句,将终止当前方法调用,同时终止循环,使流程返回到调用语句的 下一个语句执行。 10、结构化程序设计有哪三种流程?他们分别对应Java中那些语句 解:结构化程序设计有三种基本流程:循环、分支和顺序。Java程序中的分支语句包含if 语句、switch语句;循环语句包括了while语句,do-while语句、for语句;其他语句如变量、对象定义、赋值语句、方法调用语句、以及上面的循环结构、分支结构等按照上下文排列都是顺序语句。 第四章 习题及思考题 1.什么是类?什么是对象?对象和类是什么关系? 答:类是抽取了同类对象的共同属性和行为形成的对象或实体的“模板”。 对象是现实世界中实体的描述,是其自身所具有的状态特征及可以对这些状态施加的操作结 合在一起所构成的独立实体。 类和对象之间的关系是抽象和具体的关系:类表达的是一种抽象的概念,它描述 了该类对象的共同特征;而对象是具体事物,以类为模板来生成,它具有自 己的状态。举例:类与对象的关系犹如零件的图纸与按图纸制造出的零件关系一样;图纸(类)描述了零件(对象)的共同特征,每个零件(对象)又有自己的个性,如加工精度的不同等等 2、 什么是方法?方法的结构是怎样的?设计方法应考虑哪些因素? 答:方法是Java类的一个组成部分,通过类的方法改变对象的状态。 方法的结构:[方法修饰符] 返回值类型 方法名([形参列表])[throws异常列表] { 方法体; } 设计方法应考虑因素有: (1) 方法名是Java中任意的标识符,按照命名的约定,方法名应该是有意义的 动词或动词短语,它的第一个字母一般要小写,其他有意义的单词的首字母要大写,其余字母小写。 (2) 返回值类型可以是任意的Java类型,甚至可以是定义此方法的类。如果方 法没有返回值,则用void表示。 (3) 形式参数列表是可选的。如果方法没有形式参数,就用一对小括号“()”表 示。形式参数列表的形式如下: (类型 形参名,类型 形参名,……) (4) throws异常列表规定了在方法执行中可能导致的异常。 3.创建一个有两个方法的类,其中第一个方法两次调用第二个方法,第一次不使 用this,第二个使用this。 class Rectangle //矩形类 { int width; // 矩形的宽 int usethis(int width) //返回宽度的函数 {this. width= width; //指自己这个对象 return width; } int unusethis(int width) { int w=width; return w; } public static void main(String args[]) { Rectangle r=new Rectangle(); //类对象的实例化 System.out.println(\ //输出语句 System.out.println(r.usethis(1)); System.out.println(r.unusethis(2)); 运行结果: It is about the node of this. 1 2 4、创建一个类,该类还有int和char类型的成员变量且未被初始化,然后编程输 出这些成员变量的值,查看java是否执行了默认的初始化操作。 参考答案: public class CuoShiHua { int a; //整型变量 char b; //字符型变量 public void show() //用来输出未被初始化的变量的 { System.out.println(a); System.out.println(b); } public static void main(String[] args) { CuoShiHua c = new CuoShiHua(); //声明类的对象并实例化 c.show(); //函数调用 } } 输出结果: 0 □ //小方格代表空格 5、创建一个类,该类含有的成员变量和成员方法,创建一个该类的对象,察看 当时图访问这些成员时,编译程序会给出那些信息(注意:在同一目录下的类都属于一个默认的包)。 class text1 { static int a; //当被定义为static类型时,为类变量,可被对象 或类调用 int b; //对象变量,只能被对象调用 public void display(int a,int b) //成员方法 { System.out.println(\ System.out.println(\ int b=\ } public static void display(int b) { System.out.println(\ } public static void main(String args[]) { text1 tt=new text1(); tt.display(5,6); //text1.display(5,6)是错误的:对象变量或对象方法只能被对象tt调用 text1.display(0); //当被定义为static类型时,为类方法,可被对象或类调用