質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

2505閲覧

Loop:for(int i=0;i<8;i++)のLoopの使い方を説明してくれませんか?

gyro16

総合スコア89

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/12/21 03:01

編集2016/12/21 03:02

###前提・実現したいこと
このソースコードの Loop:for(int i=0;i<8;i++)
は名前をつけているのですか?
Loop:の使い方を説明してください。

こういう書き方はしたことがないので分かりません。

###発生している問題・エラーメッセージ

エラーメッセージ

###該当のソースコード

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
###前提・実現したいこと
ここに質問したいことを詳細に書いてください
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

###発生している問題・エラーメッセージ

エラーメッセージ

###該当のソースコード

java

1import java.util.*; 2 3 4 5class Main { 6 Scanner sc = new Scanner(System.in); 7 8 9 String[] block; 10 public void run() { 11 while(sc.hasNext()){ 12 block=new String[8]; 13 for(int i=0;i<8;i++){ 14 block[i]=sc.next(); 15 } 16 Loop:for(int i=0;i<8;i++) 17 for(int j=0;j<8;j++){ 18 if(block[i].charAt(j)=='1'){ 19 if(j+1<8 && block[i].charAt(j+1)=='1'){ 20 if(j+2<8 && block[i].charAt(j+2)=='1'){ 21 ln("C"); 22 }else{ 23 if(j>=1 && block[i+1].charAt(j-1)=='1'){ 24 ln("G"); 25 }else{ 26 if(i+1<8 &&j+1<8 && block[i].charAt(j+1)=='1' && block[i+1].charAt(j)=='1'){ 27 ln("A"); 28 }else{ 29 ln("E"); 30 } 31 } 32 } 33 }else{ 34 if(i+2<8 &&block[i+2].charAt(j)=='1'){ 35 ln("B"); 36 }else{ 37 if(i+1<8 && j+1<8 && block[i+1].charAt(j+1)=='1'){ 38 ln("F"); 39 }else{ 40 ln("D"); 41 } 42 } 43 } 44 break Loop; 45 } 46 } 47 } 48 } 49 50 public boolean isA(){ 51 52 return false; 53 } 54 55 56 57 58 public static void main(String[] args) { 59 new Main().run(); 60 } 61 62 public static void pr(Object o) { 63 System.out.print(o); 64 } 65 66 public static void ln(Object o) { 67 System.out.println(o); 68 } 69 70 public static void ln() { 71 System.out.println(); 72 } 73} 74 75class P{ 76 double x; 77 double y; 78 P(double _x,double _y){ 79 x=_x; 80 y=_y; 81 } 82 83 public static double dot(P a,P b){ 84 return a.x*b.x+a.y*b.y; 85 } 86 public static double cross(P a,P b){ 87 return a.x*b.y-a.y*b.x; 88 } 89 public P a(P a){ 90 return new P(x+a.x,y+a.y); 91 } 92 public P s(P a){ 93 return new P(x-a.x,y-a.y); 94 } 95 96 public double norm(){ 97 return Math.sqrt(x*x+y*y); 98 } 99 100 public static int ccw(P a,P b,P c){ 101 if(P.cross(b.s(a),c.s(a))>Double.MIN_NORMAL){ 102 return 1; 103 } 104 if(P.cross(b.s(a),c.s(a))<-Double.MIN_NORMAL){ 105 return -1; 106 } 107 if(P.dot(b,c)<-Double.MIN_NORMAL)return 2; 108 if(b.norm()<c.norm()-Double.MIN_NORMAL)return -2; 109 return 0; 110 } 111}

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このループにLoopという名前(=ラベル)を付ける役割を担ってます。
ループの中にbreak Loopという記述がありますよね。これがLoopというラベルが付いたループを抜けなさい、という意味になるのです。
上記の例で行くと、Loopのなかにさらにfor文でループしていますよね?ラベルのLoop:が無い場合はbreakした時に最も内側のループを抜けるので、変数iで動いている外側ループはまた動いてしまいます。
ここでLoopという名前を付けることで外側のループを抜けて次の処理へ進める事が出来ます。

余談ですが…質問が少し見辛いので、テンプレートから不要な部分は削って頂けると嬉しいです。

投稿2016/12/21 03:10

motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問