文章

java修課心得-1

從入門到女裝,一起學java(?

java修課心得-1

對於java的想法

是這樣的,上學期的初階程式設計是c,這學期的程式設計是java。
java是一個我以前就看過,有點興趣但覺得他很怪,一直沒嘗試過的東西。

有玩過Minecraft的大家,應該多多少少都會看過副檔名是jar的檔案。
因為這樣才會對java有點興趣,但實際上看到java的寫法就覺得他很奇怪(
像是c++我只要cout<<"asd";就好了,python只要print("asd")就好了。
但是,但是,java要System.out.printf("asd");耶!

就……覺得好麻煩.w.

實際上課發生的事

為了寫c++,以前用過dev c++,為了寫python,用的是jupyter notebook
最後跑去用sublimesublime用一用又全部都改去用vscode了。
而在上課的時候,介紹到可以用來寫java的是eclipse

雖然這麼說有點抱歉,但我覺得eclipse有點醜……


後來第一堂課的時候就在研究怎麼在vscode上寫java。
看別人說要在vscode寫java會很麻煩的樣子。實際上用完感覺還好。

但是有個更快的方法是,直接用docker開一個容器就好ㄌ。


度ㄉ度度,只要容器弄好,載點你喜歡的vscode插件就可以直接寫java了。
如此的簡單輕鬆愜意,愛docker ouo。

課堂上的作業

這堂課是三學分的課,前兩個小時上課,最後一個小時會寫課堂作業(?
目前看來難度不高,只是到現在都還記不起來java語法,要到處偷:P
如果要說遇到的最大問題,大概就是我不熟java這傢伙了吧🥲

第一次作業

第一次作業來得突如其來,老師說因為前面有放假又是第一次上課才沒有課堂作業,這次就有ㄌ。
原本還在想著下午有事,要吃飯又要趕過去不知道會不會來不及。
一聽到可以提早下課,突然就變得會寫java了

這次遇到的問題,應該是開了一個檔案寫完之後,我不知道要怎麼在同一個資料夾底下開第二個java檔寫。
不知道為什麼直接開都執行不了,但又趕著離開所以就沒研究ㄌ。


題目與寫的code如下。

第一題:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.Scanner;
public class App {
    public static void main(String[] args) throws Exception {
        Scanner scn = new Scanner(System.in);
        char grade;
        System.out.print("請輸入成績(0-100): ");
        int score = scn.nextInt();
        if(score>=0 && score<=100)
        {
            switch(score/10)
            {
                case 10,9 -> grade = 'A';
                case 8 -> grade = 'B';
                case 7 -> grade = 'C';
                case 6 -> grade = 'D';
                default -> grade = 'F';
            }
            System.out.println("等級: "+grade);
        }
        else
        {
            System.out.print("分數輸入錯誤。\n");
        }
        scn.close();
    }
}

第二題:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Scanner;
public class App {
    public static void main(String[] args) throws Exception {
        Scanner scn = new Scanner(System.in);
        float num1, num2, ans = 0;
        char choose;
        System.out.print("請輸入第一個數字: ");
        num1=scn.nextFloat();
        System.out.print("請輸入第二個數字: ");
        num2=scn.nextFloat();
        System.out.print("請選擇運算符號(+, -, *, /): ");
        choose=scn.next().charAt(0);
        if(choose=='+' || choose=='-' || choose== '*' || choose=='/')
        {
            switch(choose)
            {
                case '+' -> ans=num1+num2;
                case '-' -> ans=num1-num2;
                case '*' -> ans=num1*num2;
                case '/' -> ans=num1/num2;
            }
            System.out.println("計算結果: "+ans);
        }
        else
        {
            System.out.print("無效的運算符號。\n");
        }
        scn.close();
    }
}

第二次作業

這次的題目超級簡單,但我卡了好久QQ
我以為是環境沒弄好,因為我重灌電腦過,還不確定能不能穩定跑。
趕快把教室電腦打開之後發現也沒辦法,發現原因之後覺得自己好笨。

真的找不到問題只好跟助教求救了。
結果code是好的環境是好的,我只要輸入數字就好,但我沒有先輸出東西,讓我以為code沒在跑= =


baka mitai。

聽到助教去前面跟另一個助教講話,說到扣分什麼的。
這樣要被扣分也太殘忍了ㄅ可以放過我ㄇqwq。


題目與code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
public class App {
    public static void main(String[] args) throws Exception {
        Scanner scn = new Scanner(System.in);
        int counter = 1, sum = 0;
        int num = scn.nextInt();
        while (counter <= num) {
            if ((counter % 3 == 0 || counter % 5 == 0) && counter%7!=0)
            {
                sum = sum + counter;
                counter++; 
            }
            else
            {
                counter++;
                continue;
            }
            
        }
        System.out.printf("符合條件的數字總合為: %d%n", sum);
        scn.close();
    }
}


其實不用continue,但應題目要求就加一下。

感想

看來寫不出來,是因為我沒有女裝吧。

本文章以 CC BY-NC-ND 4.0 授權