第二次过程性考核
码云地址:https://gitee.com/Helen_en/16012006__liu_chen/tree/master
7-1 学生类-构造函数
定义一个有关学生的Student类,内含类成员变量: String name、String sex、int age,所有的变量必须为私有(private)。
1.编写有参构造函数:
能对name,sex,age赋值。
2.覆盖toString函数:
按照格式:类名 [name=, sex=, age=]输出。使用idea自动生成,然后在修改成该输出格式
3.main方法中
输入1行name age sex , 调用上面的有参构造函数新建对象。
输入样例:
tom 15 male
输出样例:
Student [name='tom', sex='male', age=15]
代码:
import java.util.Scanner; class Student { private String name; private String sex; private int age; public Student() { this.name = "tom"; this.sex = "male"; this.age = 15; } public void toString(String n, int a, String s) { this.name = n; this.sex = s; this.age = a; System.out.println("Student [name='" + this.name + "', sex='" + this.sex + "', age=" + this.age + "]"); } } public class Main{ public static void main(String[] args) { Scanner reader = new Scanner(System.in); String n = reader.next(); int a = reader.nextInt(); String s = reader.next(); Student ww = new Student(); ww.toString(n, a, s); reader.close(); } }
运行结果:
tom 15 male
Student [name='tom', sex='male', age=15]
思路:
1.定义一个有关学生的Student类
2.内含类成员变量: String name、String sex、int age
3.所有的变量必须为私有(private)。
4.编写有参构造函数:
5.使用toString函数:
6.使用main方,调用上面的有参构造函数新建对象。
7-2 定义类
请补充以下代码,完成输出要求。
1 import java.util.Scanner;
2 public class Main {
3 public static void main(String[] args) {
4 Scanner in = new Scanner(System.in);
5 int a,b,c,d,e;
6 a = in.nextInt();
7 b = in.nextInt();
8 c = in.nextInt();
9 d = in.nextInt();
10 e = in.nextInt();
11 RR rr = new RR();
12 double dd = rr.fun(a,b,c,d,e);
13 System.out.printf("%.2f",dd);
14 }
15 }
16 class RR{
17
18
19 }
输入格式:
在一行中给出5个不超过1000的正整数。
输出格式:
输出5个整数的平均值,保留小数点后两位
输入样式:
1 2 3 4 5
输出样式:
3.00
代码:
import java.util.Scanner; public class Average { public static void main(String[] args) { Scanner in = new Scanner(System.in); int a,b,c,d,e; a = in.nextInt(); b = in.nextInt(); c = in.nextInt(); d = in.nextInt(); e = in.nextInt(); RR rr = new RR(); double dd = rr.fun(a,b,c,d,e); System.out.printf("%.2f",dd); } } class RR{ public int fun(int a,int b,int c,int d,int e){ return (a+b+c+d+e)/5; } }
运行结果:
1 2 3 4 5
3.00
思路:
1.看类RR是空的
2.需要一个返回值用return
3.运用参数需要先定义
7-3 横平竖直
程序填空题。根据题目要求完善下面的代码。请提交完整代码。 一个木块如果高度比宽度大,我们说它是竖着放的,否则我们说它是平放的。 读入一个木块的高度和宽度。如果它是平放的,则输出A,否则输出B。
1 import java.util.Scanner;
2 public class Main{
3 public static void main(String[] args){
4 Scanner in = new Scanner(System.in);
5 int height, width;
6 char status;
7 height = in.nextInt();
8 width = in.nextInt();
9 Board board = new Board(height, width);
10 status = board.getStatus();
11 System.out.print(status);
12 }
13 }
14 class Board{
15 int height, width;
16 public Board(int height, int width){
17 this.height = height;
18 this.width = width;
19 }
20 public char getStatus(){
21 if(height<=width){
22 return status(1);
23 }else{
24 return status(1.0);
25 }
26 }
27 public char status(double rate){
28
29 }
30 public char status(int rate){
31
32 }
33 }
输入格式:
输入在一行中给出2个绝对值不超过1000的正整数A和B。
输出格式:
在一行中输出一个字符A或者B。
输入样例:
50 50
输出样例:
A
代码:
import java.util.Scanner; public class AB{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int height, width; char status; height = in.nextInt(); width = in.nextInt(); Board board = new Board(height, width); status = board.getStatus(); System.out.print(status); } } class Board{ int height, width; public Board(int height, int width){ this.height = height; this.width = width; } public char getStatus(){ int A=1,B=0; if(height<=width){ return status(1); }else{ return status(1.0); } } public char status(double rate){ System.out.println("B"); return 0; } public char status(int rate){ System.out.println("A"); return 0; } }
运行结果:
50 50
A
思路:
1.看public char status(double rate)和public char status(int rate)是空的
2.题中说打印AB,运用System.out.println
3.错误提醒说没有返回值,运用return0
7-4 程序改错题
程序改错题。以下代码存在错误,请修改后提交。
1 public class Main {
2 public static void main(String[] args) {
3 Animal animal = new Dog();
4 animal.shout();
5 animal.run();
6 }
7 }
8
9 class Animal {
10 void shout() {
11 System.out.println("animal shout!");
12 }
13 }
14
15 class Dog extends Animal {
16 void shout() {
17 super.shout();
18 System.out.println("wangwang……");
19 }
20
21 void run() {
22 System.out.println("Dog is running");
23 }
24 }
输出样例:
animal shout!
wangwang……
Dog is running
代码:
public class Main { public static void main(String[] args) { Dog animal = new Dog(); animal.shout(); animal.run(); } } class Animal { void shout() { System.out.println("animal shout!"); } } class Dog extends Animal { void shout() { super.shout(); System.out.println("wangwang……"); } void run() { System.out.println("Dog is running"); } }
运行结果:
animal shout!
wangwang……
Dog is running
思路:
1.看题Animal是Dog的对象
2.即不能操作子类新增的成员变量,也不能调用子类新增的方法;
3.需要继承子类对象具备了子类所有的属性和功能
练习码云代码地址:https://gitee.com/Helen_en/code_set
| 学习内容 | 代码(行)博客(字) |
| 类与对象、子类与继承 | 56 48 |
posted on 2018-10-12 23:17 nihaoya!!! 阅读(424) 评论(0) 收藏 举报

浙公网安备 33010602011771号