2016年12月2日 星期五
ContinueLabel
package tw.leonchen.myproject.flowcontrol.loop;
/*
* break and continue label
*/
public class TestContinueLabel
{
public static void main(String[] args){
test:
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
if(i==2 && j==3){
continue test; //會回到最接近標籤的迴圈(i),i+1=3後繼續執行迴圈
// continue ; //會回到當層迴圈的起頭j+1=4後再繼續執行迴圈
}
System.out.println("i="+i+" j="+j);
}
}
System.out.println("finished");
}
}
2016年11月27日 星期日
求1+到100的總和,略過6的倍數
public class hw_continue6
{
public static void main(String args[])
{
int sum=0;
for(int i=1;i<=100;i++){
if(i%6==0){
continue; //遇到6的倍數即略過
}
sum+=i;
}
System.out.println("總和="+sum);
}
}
利用continue或break敘述,找出小於100的最大質數
/* 利用continue或break敘述,找出小於100的最大質數
*質數的定義是大於1的整數,除了1跟自己本身以外,沒有其他因數。
*/
public class hw5_18 {
public static void main(String[] args) {
boolean isPrime; //宣告布林變數isPrime
int max=0; //儲存最大質數
//LoopA: //可使用continue+中斷標籤來撰寫 for(int i=2;i<=100;i++){ isPrime=true; //這裡宣告的目的是為了給最後的if敘述執行 for(int j=2;j<i;j++){ if(i%j==0){ //可以被1與自己以外的數整除,代表不是質數 isPrime=false; break;
/*
當i可被j整除,Ex:當i=4,j=2,i可被j整除,代表不是質數 因此可跳離當層迴圈(break)不需要再往下檢查j=3 j=4 j=5...的狀況
continue LoopA; continue LoopA代表回到離標籤最近的迴圈 */
} }
if(isPrime){ //寫在外迴圈內,此時isPrime為true,因此if敘述可執行 System.out.print(i+" "); //印出1~100的質數 if(max<i){ //找出最大質數 max=i; }
} } System.out.println("\n"+ "1到100最大質數為"+max); } }
//LoopA: //可使用continue+中斷標籤來撰寫 for(int i=2;i<=100;i++){ isPrime=true; //這裡宣告的目的是為了給最後的if敘述執行 for(int j=2;j<i;j++){ if(i%j==0){ //可以被1與自己以外的數整除,代表不是質數 isPrime=false; break;
/*
當i可被j整除,Ex:當i=4,j=2,i可被j整除,代表不是質數 因此可跳離當層迴圈(break)不需要再往下檢查j=3 j=4 j=5...的狀況
continue LoopA; continue LoopA代表回到離標籤最近的迴圈 */
} }
if(isPrime){ //寫在外迴圈內,此時isPrime為true,因此if敘述可執行 System.out.print(i+" "); //印出1~100的質數 if(max<i){ //找出最大質數 max=i; }
} } System.out.println("\n"+ "1到100最大質數為"+max); } }
訂閱:
文章 (Atom)