返回列表 發帖

我有問題??

  1. public class TQC104 {
  2.         private static final boolean Expression = false;

  3.         public static void main(String args [] )
  4.       {
  5.             int a[]={0,1,2,3,4,5,6,7,8,9};
  6.         boolean check=false;
  7.             int i, j, c1, c2, c3, c4, c5, c6, c7, c8;
  8.             do
  9.             {
  10.             for( i=1 ; i<a.length ; i++)
  11.        {
  12.          j=(int)(Math.random()*9)+1;
  13.          a[0] = a[i];
  14.          a[i] = a[j];
  15.          a[j] = a[0];
  16.        }
  17.         c1 = a[1] + a[2] + a[3];
  18.         c2 = a[4] + a[5] + a[6];
  19.         c3 = a[7] + a[8] + a[9];
  20.         c4 = a[1] + a[4] + a[7];
  21.         c5 = a[2] + a[5] + a[8];
  22.         c6 = a[3] + a[6] + a[9];
  23.         c7 = a[1] + a[5] + a[9];
  24.         c8 = a[3] + a[5] + a[7];
  25.         if( c1==15 && c2==15 && c3==15 && c4==15 && c5==15 && c6==15 && c7==15 && c8==15)
  26.        {
  27.         check = true;
  28.        }while(Expression);
  29.        {
  30.   System.out.println("answer:");
  31.   System.out.println(a[1] + " " + a[2] + " " + a[3]);
  32.   System.out.println(a[4] + " " + a[5] + " " + a[6]);
  33.   System.out.println(a[7] + " " + a[8] + " " + a[9]);
  34. System.out.println("不論橫向縱向及對角線加起來的和都是:15");
  35.        }
  36.       }
  37.     }
  38. }
複製代碼

我後來發現你的程式不是陣列的問題,因為你是從0放到9共10個整數,所以你用1到9是沒錯的!!但是你的大括號有問題,我把你的程式修改如下就可以正常運作了,你自己在比對一下囉!  R7 [1 V! L/ H4 l

9 X% P* P: y5 t; U. C5 t) \public class TQC104 {: i4 Q$ S( c% G$ z. D
        private static final boolean Expression = false;8 ^" ^9 S. b: F& U4 a; B

2 I8 l  r9 S3 o/ K& \        public static void main(String args [] )
2 F  Y8 b" U. p      {
& l2 }& C* s3 v, f4 f$ V3 y            int a[]={0,1,2,3,4,5,6,7,8,9};
$ }+ K- f* _' \% n1 l- r+ z        boolean check=false;5 {; U2 \* g4 W& G
            int i, j, c1, c2, c3, c4, c5, c6, c7, c8;
% Z- U1 v0 a: B+ U/ t8 n$ f            do
/ b, T$ A* O( H9 v" T+ E( V; \            {
7 N: i8 |% c" K5 Z            for( i=1 ; i<a.length ; i++)6 C. {5 {, n" }% y
       {, X+ F+ v$ {. v6 O$ Y4 _* j( {9 v
         j=(int)(Math.random()*9)+1;* E( A4 @/ n; {% ]7 P) s$ p
         a[0] = a[i];- C; `7 F) Z7 @( M2 Z* p( r) d/ v
         a[i] = a[j];
6 h* e7 ?* Y1 D# O7 q         a[j] = a[0];
  I8 {/ J; c/ @: ~       }+ Z- [* E5 g" B) Z
        c1 = a[1] + a[2] + a[3];
8 y8 n# }) H/ @1 C0 T5 p        c2 = a[4] + a[5] + a[6];
1 A" s$ A8 d: n        c3 = a[7] + a[8] + a[9];  w/ Z' {- P; w1 B9 B. U
        c4 = a[1] + a[4] + a[7];
8 l7 a- f8 W/ x* A        c5 = a[2] + a[5] + a[8];1 C. D: ~- l/ I% a, G4 }
        c6 = a[3] + a[6] + a[9];% g* }, z- Y3 Y/ y, K6 s
        c7 = a[1] + a[5] + a[9];3 W( m/ R6 I; a& n% I
        c8 = a[3] + a[5] + a[7];2 S- x, ^; ?, z) e9 k' u0 M5 [( g; b
        if( c1==15 && c2==15 && c3==15 && c4==15 && c5==15 && c6==15 && c7==15 && c8==15)
$ z3 p. C% e8 G; s1 _( P2 k       {3 ~* ^9 h6 u) g: C+ \. g3 T
        check = true;! |! }  }5 i9 g# D2 p
       }# b) `, Q8 q: h; r; U% }0 L
            }while(Expression);
1 l6 X2 r& M/ F! d, k      
; |5 ^8 G' n1 ]! ~          System.out.println("answer:");& \) a1 ^9 x# o; w
          System.out.println(a[1] + " " + a[2] + " " + a[3]);
% w6 V! I2 n' ~          System.out.println(a[4] + " " + a[5] + " " + a[6]);
- T7 I8 t. i+ q          System.out.println(a[7] + " " + a[8] + " " + a[9]);
1 }2 b8 ?5 Y/ k* {, G5 x) f         System.out.println("不論橫向縱向及對角線加起來的和都是:15");
1 O7 j. l% o, O( P1 _    }
" Z. n5 A, \3 V9 C}

TOP

返回列表