↓の使い方
$ cd ~
$ code . # run vscode
$
と#
以降の文字以外をコピー&ペーストして実行します。cd ~
とcode .
を実行します。VSCode
Visual Studio Code
のこと
$ git config --global user.name "username" # usernameをGitHubで設定したusernameに変更
$ git config --global user.email "email" # emailをGitHubで設定したemailに変更
右上の再生ボタンをクリック
キー | 動作 |
---|---|
Ctrl + s |
保存 |
Ctrl + c |
コピー |
Ctrl + v |
貼り付け |
Ctrl + z |
元に戻す(編集を一つ前の状態にする) |
Ctrl + y |
やり直す(編集を一つ後の状態にする) |
Ctrl + Shift + i |
フォーマット(プログラムをきれいにする) |
New Issue
をクリックしたあと、タイトルと本文を入力してSubmit new issue
他の人が作ったプログラムを読むとき、自分が作ったプログラムを後から読み返すとき自分が何を書いたかわからなくなることはありませんか?
それを防ぐためにどこで何が行われているかをコメントに書いておこう
例: https://github.com/aya-0p/contest/blob/main/MoveChara.java
何がいいの?
カーソルを合わせると情報が見れる(画像のドキュメントは間違えてますが修正済みです)
書き方:
/**
* 足し算
* @param a 1つめの数字
* @param b 2つめの数字
* @return 答え
*/
private int add(int a, int b) {
// a + b を計算する
int sum = a + b;
return sum;
}
セミコロン忘れ
aya@aya-HP-Pavilion-Plus-Laptop-14-eh0xxx:~/ドキュメント/projects/contest$ cd /home/aya/ドキュメント/projects/contest ; /usr/bin/env /usr/local/jdk-21/bin/java @/tmp/cp_50qtb720qcmgzwak7zhts86dd.argfile MapGame # 実行
Exception in Application start method # 例外が発生したよ
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at [email protected]/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
at [email protected]/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:364)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1135)
Caused by: java.lang.RuntimeException: Exception in Application start method # 以下の理由によって
at [email protected]/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:893)
at [email protected]/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.Error: Unresolved compilation problem: # 以下の理由によって
Syntax error, insert ";" to complete LocalVariableDeclarationStatement # 構文エラー, ";"入れろ
at MoveChara.setCharaDirection(MoveChara.java:82) # MoveChara.setCharaDirection, MoveChara.javaの82行目
at MoveChara.<init>(MoveChara.java:73)
at MapGameController.initialize(MapGameController.java:25)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2670)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2563)
at [email protected]/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2531)
at StageDB.getMainStage(StageDB.java:59)
at MapGame.start(MapGame.java:15)
at [email protected]/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
at [email protected]/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:263)
... 1 more
Exception running application MapGame
;
忘れを探す型間違い
aya@aya-HP-Pavilion-Plus-Laptop-14-eh0xxx:~/ドキュメント/projects/contest$ cd /home/aya/ドキュメント/projects/contest ; /usr/bin/env /usr/local/jdk-21/bin/java @/tmp/cp_50qtb720qcmgzwak7zhts86dd.argfile MapGame # 実行
Exception in Application start method # 例外が発生したよ
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at [email protected]/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
at [email protected]/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:364)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1135)
Caused by: java.lang.RuntimeException: Exception in Application start method # 以下の理由によって
at [email protected]/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:893)
at [email protected]/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.Error: Unresolved compilation problem: # 以下の理由によって
Type mismatch: cannot convert from String to int # Stringをintに変換できません
at MoveChara.setCharaDirection(MoveChara.java:83) # MoveChara.setCharaDirection, MoveChara.javaの83行目
at MoveChara.<init>(MoveChara.java:73)
at MapGameController.initialize(MapGameController.java:25)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2670)
at [email protected]/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2563)
at [email protected]/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2531)
at StageDB.getMainStage(StageDB.java:59)
at MapGame.start(MapGame.java:15)
at [email protected]/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at [email protected]/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
at [email protected]/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at [email protected]/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:263)
... 1 more
Exception running application MapGame
int
型の変数(や定数)にString
型を代入していないか確認*.java
ファイルのインデントはスペース4つ*.fxml
ファイルのインデントはスペース2つJavaコーディング標準.pdf
を参照null
の可能性を考える
before = null, after = "after"
のときnullafter
が返ってしまう
/**
* 2つの文字をつなげる
*/
private static String concatString(String before, String after) {
return before + after;
}
after
を返す
/**
* 2つの文字をつなげる
*/
private static String concatString(String before, String after) {
if (before == null) return after;
if (after == null) return before;
return before + after;
}
/**
* 2つの文字をつなげる
*/
private static String concatString(String before, String after) throws IllegalArgumentException {
// beforeやafterがnullのとき
if (before == null || after == null) throw new IllegalArgumentException(); // コメント省略
return before + after;
}
ゲッタとセッタ
class Something {
/** 0以上の整数 */
private int value = 0;
Something() {}
public int getValue() {
return this.value;
}
public void setValue(int val) throws IllegalArgumentException {
// valueは0以上の整数である必要がある
if (val < 0) throw new IllegalArgumentException();
value = val;
return;
}
}