---
# System prepended metadata

title: Java_Cmoney_st206
tags: [Cmoney_Java題目]

---

---
tags: Cmoney_Java題目
---
Java_Cmoney_st206
===

![](https://i.imgur.com/eUnFl66.png)
![](https://i.imgur.com/BkiG5P7.png)



1.需要的 function 和 Class
---
1.1 Class Stu
---
1. attribute : seat, score
2. method : Stu(), print()

```java=
class Stu {
    int seat;
    int score ;

    Stu(int seat, int score) {
        this.seat = seat;
        this.score = score;
    }

    void print() {
        System.out.println(this.seat + "." + this.score);
    }
}
```


1.2 交換Stu陣列裡面的Stu物件
---

```java=
public static void swap(Stu[] stus, int i1, int i2) {
        Stu tmp = stus[i1];
        stus[i1] = stus[i2];
        stus[i2] = tmp;
    }
```


1.3 泡沫排序法
---


```java=
public static void sortScore(Stu[] stus) {
        for (int i = 0; i < stus.length - 1; i++) {
            for (int j = 0; j < stus.length - i - 1; j++) {
                if (stus[j + 1].score > stus[j].score)
                    swap(stus, j, j + 1);
            }
        }
    }
```


2.主程式
---

```java=
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        Stu[] stus = new Stu[n];
        for (int i = 0; i < stus.length; i++) {
            stus[i] = new Stu(sc.nextInt(), sc.nextInt());
        }
        sortScore(stus);
        for (int i = 0; i < stus.length; i++) {
            stus[i].print();
        }
    }
```

3.完整程式
---
```java=
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        Stu[] stus = new Stu[n];
        for (int i = 0; i < stus.length; i++) {
            stus[i] = new Stu(sc.nextInt(), sc.nextInt());
        }
        sortScore(stus);
        for (int i = 0; i < stus.length; i++) {
            stus[i].print();
        }
    }

    public static void sortScore(Stu[] stus) {
        for (int i = 0; i < stus.length - 1; i++) {
            for (int j = 0; j < stus.length - i - 1; j++) {
                if (stus[j + 1].score > stus[j].score)
                    swap(stus, j, j + 1);
            }
        }
    }

    public static void swap(Stu[] stus, int i1, int i2) {
        Stu tmp = stus[i1];
        stus[i1] = stus[i2];
        stus[i2] = tmp;
    }
}

class Stu {
    int seat;
    int score ;

    Stu(int seat, int score) {
        this.seat = seat;
        this.score = score;
    }

    void print() {
        System.out.println(this.seat + "." + this.score);
    }
}
```