0
我今天想要最小化的最後一件事是包含while和do-while循環的代碼。以下是原文:參考讀/寫操作最小化循環
class Vereinfache3_edit {
public static void main(String [] args) {
int c1 = Integer.parseInt(args[0]) ;
int c2 = Integer.parseInt(args[1]) ;
int c3 = Integer.parseInt(args[2]) ;
/* 1 */ c1 += 7 ;
/* 2 */ System.out.println(c1) ;
/* 3 */ while (c1 % 8 != 0)
/* 4 */ if (c1 % 16 == 0) ;
/* 5 */ else
/* 6 */ do
/* 7 */ {
/* 8 */ c1 += 7 ;
/* 9 */ System.out.println(c1) ;
/* 10 */ if (c2 < c3)
/* 11 */ { c1 = c1+c1 ;
/* 12 */ c3 ++ ;
/* 13 */ c1 /= 2 ;
/* 14 */ c3 -= 1 ;
/* 15 */ }
/* 16 */ }
/* 17 */ while (c1 % 8 != 0) ;
/* 18 */ c1 += 7 ;
/* 19 */ System.out.println(c1) ;
}
} // end of class Vereinfache3
,這裏是我的最小化版本:
class Vereinfache3 {
public static void main(String [] args) {
int c1 = Integer.parseInt(args[0]);
int c2 = Integer.parseInt(args[1]) ;
int c3 = Integer.parseInt(args[2]) ;
do{
c1 += 7 ;
System.out.println(c1) ;
}while (c1 % 8 != 0);
/* 18 */ c1 += 7 ;
/* 19 */ System.out.println(c1) ;
}
} // end of class Vereinfache3
它產生相同的輸出我。你看到任何可以改進的錯誤或事情嗎?
特別是這段代碼似乎是棘手:
/* 3 */ while (c1 % 8 != 0)
/* 4 */ if (c1 % 16 == 0) ;
/* 5 */ else
/* 6 */ do{}
如何應對,而?什麼包含while循環?
你不會看到我使用c2和c3了......如果你在代碼的後面部分沒有使用它們,你可以刪除這些聲明.. – 2010-10-31 12:15:08
試圖現在解釋一下。 。檢查我的答案。 – 2010-10-31 21:49:04