[解決済み】カウンターの仕組みは?/ 非常に基本的なJava
2022-01-27 08:28:13
質問内容
ある本で紹介されていた、カウンターのあるコードがあります。なぜそのように動作するのか理解できません。具体的には、"for"ループで生成された行をカウンタがカウントするのはどうしてでしょうか?関係演算子と条件式を使った "if" ループがあるのはわかりますが、コードが行数をカウントすることをどうやって知るのか、私にはまだ明確ではありません。 以下はそのコードです。
*/
class GalToLitTable {
public static void main(String args[]) {
double gallons, liters;
int counter;
counter = 0;
for(gallons = 1; gallons <= 100; gallons++) {
liters = gallons * 3.7854; // convert to liters
System.out.println(gallons + " gallons is " +
liters + " liters.");
counter++;
// every 10th line, print a blank line
if(counter == 10) {
System.out.println();
counter = 0; // reset the line counter
}
}
}
ご協力をお願いします。
解決方法は?
ここでは、3つのことが起こっています。
-
あなたが持っているのは
for
100回実行するループ(1-100まで) -
ループの中で、increment演算子を使ってカウンターを増加させます。
++
を呼び出すのと本質的に同じである。counter = counter + 1;
. - ループ内(インクリメントの後)では、現在値をチェックして、何らかのアクション(この場合はカウンターのリセット)を実行すべきかどうかを確認します。
以下に注釈付きのコードを見ていただければ、もう少しわかりやすいと思いますが、上記のリンク先で、より詳細な
for
ループと
increment
演算子を使用します。
// Your counter
int counter = 0;
// The contents of this will execute 100 times
for(gallons = 1; gallons <= 100; gallons++) {
// Omitted for brevity
// This increases your counter by 1
counter++;
// Since your counter is declared outside of the loop, it is accessible here
// so check its value
if(counter == 10) {
// If it is 10, then reset it
System.out.println();
counter = 0;
}
// At this point, the loop is over, so go to the next iteration
}
関連
-
[解決済み] [Solved] java.lang.NoClassDefFoundError: クラスXXXを初期化できませんでした。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】Javaの未処理例外について
-
[解決済み】どういう意味か。Serializableクラスがstatic final serialVersionUIDフィールドを宣言していないとは?重複している] [重複している] [重複している] [重複している
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?