1. 程式人生 > >Java學習記錄(補充二:面對對象基礎復習,習題)

Java學習記錄(補充二:面對對象基礎復習,習題)

補充 實例化 ntc println stat 初始 sys order 成績

求3(可調整)個學員成績的和或平均分或兩者都具
package
day5; import java.util.Scanner; public class Score { //構造函數 public Score(){ System.out.println("實例化對象調用了我"); } int sum; double avg; // 定義求和的方法 public int sum() { Scanner scanner = new Scanner(System.in); for (int i = 0; i < 3; i++) { System.out.println(
"請輸入第" + (i + 1) + "個學員成績"); int score = scanner.nextInt(); sum += score; } return sum; } //求平均分的方法 凡是方法名報錯都是沒有返回值return; public double avg(){ double result = sum()/3; return result; } //既求和又求平均分的方法 public double[] getSumAndAvg(){
double[] results = new double[2]; Scanner scanner = new Scanner(System.in); for (int i = 0; i < 3; i++) { System.out.println("請輸入第" + (i + 1) + "個學員成績"); int score = scanner.nextInt(); sum += score; } results[0] = sum; results[
1] = sum/3; return results; } }

package day5;

import java.util.Arrays;


public class ScoreCalc {
    public static void main(String[] args) {
        // 由類來產生對象 (實例化)會調用你的構造函數
        Score score1 = new Score();
        // 對象生成以後, 可以調用對象裏的各個屬性和方法
        
        System.out.println(score1.sum());
        System.out.println(Arrays.toString(score1.getSumAndAvg()));
    }
}

結果圖:

技術分享

求三門課的和及平均分(構造有參函數)
package
day5_1; public class Score { // 屬性 int math;// 數學成績 int chinese;// 語文成績 int english;// 英語成績 int sum;// 總分 double avg;// 平均分 // 構造函數 與類同名,沒有返回值 作用:數據的初始化!!! public Score(int math, int chinese, int english) { this.math = math; this.chinese = chinese; this.english = english; } // 方法 // 求和 public int sum() { sum = math + chinese + english; return sum; } // 求平均分 public double avg() { avg = (math + chinese + english) / 3.0; return avg; } }
package day5_1;

import java.util.Scanner;

public class ScoreTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入數學成績");
        int math = scanner.nextInt();
        System.out.println("請輸入語文成績");
        int chinese = scanner.nextInt();
        System.out.println("請輸入英語成績");
        int english = scanner.nextInt();
        //單純的實例化對象
//        Score score = new Score();
//        score.math = math;
//        score.chinese = chinese;
//        score.english = english;
        
        //實例化兌現過的同時進行數據的初始化
        Score score = new Score(math,chinese,english);
        
        int result1 = score.sum();
        double result2 = score.avg();
        System.out.println(result1);
        System.out.println(result2);
    }
}

結果圖:

技術分享

學生名字排序(創建一個數組對象)
package
day5_2; import java.util.Arrays; public class NameSort { //2:把方法封裝 public String[] sort(String[] unOrderArr) { Arrays.sort(unOrderArr); return unOrderArr; } }
package day5_2;

import java.util.Arrays;
import java.util.Scanner;

public class NameSortTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //1:準備數據
        String names[]= new String[5];
        for (int i = 0; i < 5; i++) {
            System.out.println("請一次輸入第" + (i + 1) + "個學生名字");
            names[i] = scanner.next();
        }
        //3:調用類的方法(先實例化出對象)
        NameSort sortName = new NameSort();
        String[] orderArr = sortName.sort(names);
        System.out.println(Arrays.toString(orderArr));
    }
}

結果圖:

技術分享

單個對象的三門成績求均分(傳輸對象)
package day5_2; public class Student { int math; int chinese; int english; public Student(int math,int chinese,int english){ this.math = math; this.chinese = chinese; this.english = english; } }
package day5_2;

public class StudentCalc {
    //創建一個對象(Student)
    public double avg(Student student){
        int mathScore = student.math;
        int chineseScore = student.chinese;
        int englishScore = student.english;
        double avg = (mathScore+chineseScore+englishScore)/3;
        return avg;
    }
}
package day5_2;

import java.util.Scanner;

public class StudentTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入數學成績");
        int math = scanner.nextInt();
        System.out.println("請輸入語文成績");
        int chinese = scanner.nextInt();
        System.out.println("請輸入英語成績");
        int english = scanner.nextInt();
        Student zhangSan = new Student(math, chinese, english);
        StudentCalc calc = new StudentCalc();
        System.out.println("平均分:"+calc.avg(zhangSan));
    }
}

結果圖:

技術分享

多個對象的姓名,年齡,身高,總身高平均(傳輸對象數組)
package
day5_3;
(構造一個有參函數)
public class Student { String name; int age; int height; public Student(String name,int age,int height){ this.name = name; this.age = age; this.height = height; } }
package day5_3;

public class StudentManager {
    //創建一個對象數組(Student[])
    public int avg(Student[] students) {
        int sum = 0;
        for (int i = 0; i < students.length; i++) {
            sum += students[i].height;
        }
        return sum/students.length;
    }

}
package day5_3;

import java.util.Scanner;

public class StudentManagerTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Student[] students = new Student[2];
        for (int i = 0; i < students.length; i++) {
            System.out.println("輸入姓名");
            String name = scanner.next();
            System.out.println("請輸入年齡");
            int age = scanner.nextInt();
            System.out.println("請輸入身高");
            int height = scanner.nextInt();
            Student student = new Student(name, age, height);
            students[i] = student;
        }
        StudentManager calc = new StudentManager();
        System.out.println(calc.avg(students));
    }
}

結果圖:

技術分享


一次傳遞多個參數

package Day5_4;
public class User {
    String nick;
    String pwd;
    int age;
    String sex;
    String resignDate;
    String degree;
    public User(String nick,String pwd,int age,String sex,String resignDate,String degree){
        this.nick =nick;
        this.pwd = pwd;
        this.age = age;
        this.resignDate = resignDate;
        this.sex = sex;
        this.degree = degree;
    }
    public void  showMessage() {
        System.err.println("大家好!我是"+nick+",今年"+age+"歲");
        System.err.println("我是"+resignDate+"年註冊的,目前等級是:"+degree);
        
    }
}

package
Day5_4; import java.util.Scanner; public class UserTest { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入您的昵稱:"); String nick = scanner.next(); System.out.println("請輸入您的密碼:"); String pwd = scanner.next(); System.out.println("請輸入您的性別:"); String sex = scanner.next(); System.out.println("請輸入您的等級:"); String degree = scanner.next(); System.out.println("請輸入您的年齡:"); int age = scanner.nextInt(); System.out.println("請輸入您的註冊時間:"); String resignDate = scanner.next(); User user = new User(nick, pwd, age, sex, resignDate, degree); user.showMessage(); } }

結果圖:

技術分享

Java學習記錄(補充二:面對對象基礎復習,習題)