การใช้ do..while นั้น จะใช้เมื่อเราต้องการเข้าสู่การทา งานของลูป (Loop) อย่างน้อย 1
ครั้ง โดยจะวางนิพจน์ทดสอบค่าไว้ตอนท้ายของ Loop
Syntax :
while (condition); อย่าลืมใส่เครื่องหมาย ( ; ) หลังเงื่อนไข while ไม่เช่นนั้นโปรแกรมจะค้าง (hang)
ตัวอย่างโปรแกรม : ให้ทา งานในลูป do..while 6 รอบแล้วแสดงค่าตัวเลขตัวสุดท้าย
Output:
Source Code:
1 //Pdowhile.java
2 public class Pdowhile{
3 public static void main (String agrs[])
4 {
5 int a=0,b=0,count=0;
6
7 do { //เข้าสู่ loop อย่างน้อย 1 ครั้ง
8 a += 1;
9 b += a;
10 count++;
11 System.out.println ("value b in loop = "+b);
12 }
13 while (a <= 5); // ตรวจสอบเงื่อนไข เป็นเท็จ จบ loop
14 System.out.println ("=======================");
15 System.out.println ("The round of loop = "+count);
16 System.out.println ("last value b = "+b);
17 } //end main
18 } //end class
ตัวอย่างโปรแกรม :รับค่าอายุ หรือ ปี ค.ศ. ที่เกิด แล้วคา นวณหาอายุ หรือคา นวณว่าเกิดปี ค.ศ. ใดหลังจากนั้น ถาม User ว่าต้องการทา งานอีกรอบหรือไม่ ถ้าต้องการทา กดเลข 1
Output:
Source Code:
1 // Ans2.java
2 import javax.swing.JOptionPane;
3
4 public class Ans2 {
5 public static void main( String args[] )
6 {
7 int mul=1,
8 check=0,a;
9 String i,b;
10 do
11 {
12 i = JOptionPane.showInputDialog(
13 "Please Enter Year Age : " );
14 check = Integer.parseInt(i);
15 mul = 2006- check;
16
17 JOptionPane.showMessageDialog( null,
18 "Result (Age/Birth Year) = " + mul, " ",
19 JOptionPane.INFORMATION_MESSAGE );
20 // System.exit( 0 );
21
22 b = JOptionPane.showInputDialog(
23 "Do you want to Continue. If say yes Press 1 : " );
24 a = Integer.parseInt(b);
25 }
26 while ( a == 1); //end do..while
27 System.exit( 0 );
28 } //end main()
29 } // end class Ans2
ตัวอย่างโปรแกรม : การใช้ do..while สร้างรูปวงกลมใน Java Applet
Output:
Source Code:
1 // DWhile.java
2 import java.awt.Graphics;
3
4 import javax.swing.JApplet;
5 public class DWhile extends JApplet {
6 public void paint( Graphics g ) // draw lines on applet’s background
7 {
8
9 super.paint( g ); // call inherited version of method paint
10 int ov = 1;
11 do {
12 g.drawOval( 320 - ov * 40, 320 - ov * 40,
13 ov * 40, ov * 40 );
14 ++ov;
15 } while ( ov <= 5 ); // end do...while
16
17 ov=1;
18 do {
19 g.drawOval( 110 - ov * 10, 110 - ov * 10,
20 ov * 20, ov * 20 );
21 ++ov;
22 } while ( ov <= 10 ); // end do...while
23 } // end method paint
24 } // end class DoWhileTest
Run โดยใช้ IE Browser
ไม่มีความคิดเห็น:
แสดงความคิดเห็น