for (i = 0; i < n; i++) { if (x < a[i]) break; } for (j = n; j > i; j--) { a[j] = a[j - 1]; } a[i] = x; n++; for (i = 0; i < n; i++) { System.out.print(a[i] + \ } } }
4.输出杨辉三角形。如:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
1 5 10 10 5 1 ??
package pr1;
public class lx1_4_4 { public static void main(String args[]) { int a[][] = new int[10][10]; for (int i = 0; i < a.length; i++) { a[i][0] = a[i][i] = 1; for (int j = 1; j < i ; j++) { a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; } } for (int i = 0; i < a.length; i++) { for (int j = 0; j <=i; j++) { System.out.print(a[i][j] + \ } System.out.println(); } } }
5.求一个二维数组的每行最大数。 package pr1;
public class lx1_4_5 { public static void main(String args[]) { int a[][] = { { 34, 23, 45, 78 }, { 2, 24, 16, 20 }, { 43, 56, 22, 12 } }; int max; for (int i = 0; i < a.length; i++) { max = a[i][0]; for (int j = 0; j < a[i].length; j++) { if (max < a[i][j]) max = a[i][j]; } System.out.println(\第\行上的最大数为:\ } } }
6.输入一个十进制数,转换成二进制数并输出。 package pr1;
import java.util.Scanner; public class lx1_4_6 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int x, i; System.out.print(\请输入一个十进制数:\ x = input.nextInt(); int a[] = new int[20]; i = 0; do {
a[i++] = x % 2; x = x / 2; } while (x != 0); System.out.print(\对应的二进制数为:\ for (i--; i >= 0; i--) { System.out.print(a[i]); } } }
项目二 学生成绩管理系统(面向对象设计方法实现) 任务一 用类来表示学生成绩信息 (二)编程题
1.某公司正进行招聘工作,被招聘人员需要填写,做“个人简历”的封装类。 class jianli { String xm;// 姓名 String xb;// 性别 int nl;// 年龄 String jtzz;// 家庭住址 String xl;// 学历 public String getXm() { return xm; } public void setXm(String xm) { this.xm = xm; } public String getXb() { return xb; } public void setXb(String xb) { this.xb = xb; } public int getNl() { return nl; } public void setNl(int nl) { this.nl = nl; } public String getJtzz() { return jtzz; } public void setJtzz(String jtzz) { this.jtzz = jtzz; } public String getXl() { return xl; } public void setXl(String xl) { this.xl = xl; } }
2.编写程序,提供实现各种数学计算的方法。包括如下几项。
(1)两个数的加、减、乘、除。
(2)求某数的相反数、倒数、绝对值。 (3)取两数中较大的和较小的。
(4)对浮点数(double型)的计算功能。如:给定浮点数d,取大于或等于d的最小整数,取小于或
等于d的最大整数,计算最接近d的整数值,计算d的平方根、自然对数log(d)等。 (5)计算以double型数a为底数,b为指数的幂。 package pr2; class MyMath { public int add(int a, int b) { return a + b; } public int sub(int a, int b) { return a - b; } public int mul(int a, int b) { return a * b; }
public int div(int a, int b) { return a / b; }
public int xianfan(int a) { return -a; }
public double daoshu(int a) { return 1.0 / a; }
public int abs(int a) { if (a >= 0) return a; else return -a; }
public int max(int a, int b) { if (a > b) return a; else return b; }
public int min(int a, int b) { if (a < b) return a; else return b; } } 3.编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle
(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法。 (1)抽象类定义 package pr2;
abstract class Shape { public abstract double area(); }
(2)Circle类定义
public class Circle extends Shape { double r; public Circle() { r = 0; } public Circle(double r) { this.r = r; } public double area() { return 3.14 * r * r; } }
(3)Rectangle类定义
public class Rectangle extends Shape { double w, h; public Rectangle() { w = h = 0; } public Rectangle(double w, double h) { this.w = w; this.h = h; } public double area() { return w * h; } }
4.定义一个接口,接口中有3个抽象方法如下。
(1)“long fact(int m);”方法的功能为求参数的阶乘。 (2)“long intPower(int m,int n);”方法的功能为求参数m的n次方。 (3)“boolean findFactor(int m,int n);”方法的功能为判断参数m加上参数n的和是否大于100。 定义类实现该接口,编写应用程序,调用接口中的3个方法,并将调用方法所得的结果输出。 答案:
(1)接口定义 package pr2;
public interface MyInterface { public long fact(int m); public long intPower(int m, int n); public boolean findFactor(int m, int n); }
(2)类定义 package pr2;
public class MyClass implements MyInterface { public long fact(int m) { long f; f = 1; for (int i = 1; i <= m; i++) f = f * i; return f; } public boolean findFactor(int m, int n) { if (m + n > 100) return true; else return false; } public long intPower(int m, int n) { long v; v = 1; for (int i = 1; i <= n; i++) { v = v * m; } return v; } }
(3)主类 package pr2;
public class lx2_1_4 { public static void main(String[] args) { MyClass c1; c1 = new MyClass(); System.out.println(c1.fact(10)); System.out.println(c1.intPower(2, 10)); System.out.println(c1.findFactor(2, 10)); } }
5.创建一个接口IShape,接口中有一个求取面积的抽象方法“public double area()”。定义一个正方形
类Square,该类实现了IShape接口。Square类中有一个属性a表示正方形的边长,在构造方法中初始化该边长。定义一个主类,在主类中,创建Square类的实例对象,求该正方形对象的面积。 答案:
(1)接口定义 package pr2;
public interface IShape { public abstract double area(); }
(2)类定义 package pr2;
public class Square implements IShape { double a; public Square() { a = 0; } public Square(double a) { this.a = a; } public double area() { return a * a; } }
(3)主类: package pr2;
public class lx2_1_5 {
public static void main(String[] args) { Square s1 = new Square(4); System.out.println(s1.area()); } }
6.定义一个人类,包括属性:姓名、性别、年龄、国籍;包括方法:吃饭、睡觉,工作。
(1)根据人类,派生一个学生类,增加属性:学校、学号;重写工作方法(学生的工作是学习)。 (2)根据人类,派生一个工人类,增加属性:单位、工龄;重写工作方法(工人的工作是??自己想
吧)。
(3)根据学生类,派生一个学生干部类,增加属性:职务;增加方法:开会。 (4)编写主函数分别对上述3类具体人物进行测试。 答案: (1)人类 package pr2;
public class People { String xm; String xb; int nl; String gj; public void chifan() { System.out.println(\正在吃饭\ } public void shuijiao() { System.out.println(\正在睡觉\ } public void gongzuo() { System.out.println(\正在工作\ } }
(2)学生类: package pr2;
public class Xuesheng extends People { String xx; int xh; public void gongzuo() { System.out.println(\正在学习\ } }
(3)工人类: package pr2;
public class Gongren extends People{ String dw; int gl; public void gongzuo() { System.out.println(\正在生产汽车\ } }
(4)干部类: package pr2;
public class Ganbu extends Xuesheng{ String zw; public void kaihui() { System.out.println(\正在开会\ } }
(5)主类: package pr2;
public class lx2_1_6 { public static void main(String[] args) { Xuesheng xs = new Xuesheng(); xs.chifan();xs.shuijiao();xs.gongzuo(); Gongren gr=new Gongren(); gr.chifan();gr.shuijiao();gr.gongzuo(); Ganbu gb=new Ganbu(); gb.chifan();gb.shuijiao();gb.gongzuo();gb.kaihui(); } }
任务二 用动态数组存储学生成绩信息
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java习题答案(2)在线全文阅读。
相关推荐: