JAva学習2-*で菱形を打つ
Javaの初心者として、自分が学んだことを整理する必要があります.後で思い出を持って、比較することができます.
実は自分が最初に作成したjavaプログラムは星、菱形の星で、コンソールに数字を入力した後、3を入力します.
菱形は次のようになります.
*
* *
* * *
* *
*
コードは
このコードを見ると確かに思い出の場所がたくさんあります.例えばscannerは、久しぶりに使っていたので、もう一つ入力できるものがあることを忘れてしまいました.その後、ホームページなどの入力をずっと使っていたので、このコンソールのものはもう忘れてしまいました.このプログラムも当時何度も修正してやっと直したのを覚えています.さもないと、最初から同じfunを繰り返し呼び出して*を出力するなんて考えられないでしょう.
またこのネーミングrowNumは、今の習慣では必ずrowNumberとネーミングされますが、クラスやメソッドの前にjava docの注釈は付けられていませんが、一部追加されています!あとそれは入力数字を処理していない、異常などですが、これは結局最初の比較的完全なプログラムで、あまり厳しく求めることはできません!
Windowsのdosウィンドウコマンドラインでコンパイル出力したのを覚えています!batファイルも専門に書いてありますが、その内容は次のとおりです.
rem CLASSSPATHを現在のパスに移動
set CLASSPATH=%CD%
cd first\star
javac Star.java
java first.star.Star
pause
batファイルのコメント、classpathの設定、コンパイル、実行、一時停止.これは初めて書きましたが、後で役に立つのもcopyで、最後まで全然書きませんでした!ほほほ……
実はこのプログラムは主にループ、ブランチ、メソッドの呼び出しなど......Cを学んだことがあれば、今のプログラミングはCと大きな違いはありません.しかし、プログラム全体の実行メカニズムは異なり、javaはclassファイルにコンパイルしてから実行します.Javacスターを実行したらJAvaこのコマンドでは、同じフォルダの下に1つのStarが見つかります.classファイル.これがjavaのいわゆるwrite-once run-anywhereであり、このclassファイルを各java仮想マシンにコピーして実行します.
実は自分が最初に作成したjavaプログラムは星、菱形の星で、コンソールに数字を入力した後、3を入力します.
菱形は次のようになります.
*
* *
* * *
* *
*
コードは
package first.star;
import java.util.Scanner;
public class star {
public static void main(String[] args) {
System.out.print("please input your row number:");
Scanner in = new Scanner(System.in);
int rowNum = in.nextInt();
// int i = Integer.parseInt(args[0]);
int j, n;
//
for (j = 1; j <= rowNum; j++) {
fun(j, rowNum);
}
//
for (j = rowNum - 1; j >= 1; j--) {
fun(j, rowNum);
}
}
/**
* @param j
*
* @param rowNum
*
*/
private static void fun(int j, int rowNum) {
int n;
//
for (n = rowNum - j; n >= 0; n--) {
System.out.print(" ");
}
// *
for (n = 0; n < j; n++) {
System.out.print("* ");
}
System.out.println();
}
}
このコードを見ると確かに思い出の場所がたくさんあります.例えばscannerは、久しぶりに使っていたので、もう一つ入力できるものがあることを忘れてしまいました.その後、ホームページなどの入力をずっと使っていたので、このコンソールのものはもう忘れてしまいました.このプログラムも当時何度も修正してやっと直したのを覚えています.さもないと、最初から同じfunを繰り返し呼び出して*を出力するなんて考えられないでしょう.
またこのネーミングrowNumは、今の習慣では必ずrowNumberとネーミングされますが、クラスやメソッドの前にjava docの注釈は付けられていませんが、一部追加されています!あとそれは入力数字を処理していない、異常などですが、これは結局最初の比較的完全なプログラムで、あまり厳しく求めることはできません!
Windowsのdosウィンドウコマンドラインでコンパイル出力したのを覚えています!batファイルも専門に書いてありますが、その内容は次のとおりです.
rem CLASSSPATHを現在のパスに移動
set CLASSPATH=%CD%
cd first\star
javac Star.java
java first.star.Star
pause
batファイルのコメント、classpathの設定、コンパイル、実行、一時停止.これは初めて書きましたが、後で役に立つのもcopyで、最後まで全然書きませんでした!ほほほ……
実はこのプログラムは主にループ、ブランチ、メソッドの呼び出しなど......Cを学んだことがあれば、今のプログラミングはCと大きな違いはありません.しかし、プログラム全体の実行メカニズムは異なり、javaはclassファイルにコンパイルしてから実行します.Javacスターを実行したらJAvaこのコマンドでは、同じフォルダの下に1つのStarが見つかります.classファイル.これがjavaのいわゆるwrite-once run-anywhereであり、このclassファイルを各java仮想マシンにコピーして実行します.