java
1public static void main (String[] args) { 2 outside1: 3 for(int i1 = 1 ; i1 <= 9 ; i1++){ 4 String disp1 = ""; 5 for(int j1 = 1 ; j1 <= 9 ; j1++){ 6 if(i1*j1 == 54){ 7 break outside1; 8 } 9 disp1 = disp1 + i1*j1 + " "; 10 } 11 System.out.println(disp1); 12 }
このコードの「disp1 = disp1 + i1j1 + " ";」の部分ですが、私ははじめ前のdisp1に新しいdisp1を足しているのだと思っていました。たとえば i=1, j=1 だと、ij=1がdisp1に格納され、次のi=1,j=2のときのij=2がij=1が入っているところに加えられる。すなはち、disp1=(i=1 * j=1) + (i=1 * j=2) → disp1=1+2 なのかなと思っていましたが、実際はdisp1に前の情報を維持しつつ新しいi*jを格納し、また" "でスペースも格納しているというかんじでした。つまり、disp1に 1(i=1,j=1)と「スペース」と2(i=1,j=2)と「スペース」と…という具合に列として格納されていってる感じでした。では、なぜ 前の情報を維持しながら加算することにはならなかったんでしょうか。文字列や数字の列を一つの変数に連続で格納する時と、前の情報を維持しながら加算していくとき書き方の違いを教えてほしいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/07 12:20
2020/04/10 02:44
2020/04/10 02:59