分享

Java语言程序设计基础篇第四章 循环

 Blanche1111 2013-12-15

*程序4-10

蒙特卡罗方法估算π:边长为2的正方形,其内切圆的面积为π;那么随机往该正方形的范围里点一个点,该点落于圆范围内的概率为π/4。

随机丢N个点,N越大,落于圆内的点数/N就越接近π/4.

算法中对“落于圆内”的判定方法:距离原点<=1则为真。具体仅判断第一象限内的点.

  1. import javax.swing.JOptionPane;  
  2. public class C0401 {  
  3.     public static void main(String[] args){  
  4.         double x,y,d;  
  5.   
  6.         String s1=JOptionPane.showInputDialog("请输入你要测试的次数");  
  7.         int totalTimes=Integer.parseInt(s1);  
  8.         int countTimes=0,i;  
  9.         for(i=1;i<=totalTimes;i++){  
  10.             x=Math.random();  
  11.             y=Math.random();  
  12.             d=x*x+y*y;  
  13.             if(d<=1) countTimes++;  
  14.         }  
  15.         double Pi=(double)countTimes/totalTimes*4;  
  16.         JOptionPane.showMessageDialog(null,"本次估算PI="+Pi+".");         
  17.     }  
  18. }  

*程序4-14

在5行中显示从2开始的前50个素数,每行包含10个数。

  1. public class C0402 {  
  2.     public static void main(String[] args){  
  3.         int number=1,x,counter=0;  
  4.         for(number=2;counter<=50;number++){  
  5.             for(x=2;x<=number/2;x++){  
  6.                 if(number%x==0)  
  7.                     break;  
  8.             }  
  9.             if(x==(number/2+1)){  
  10.                 counter++;  
  11.                 System.out.printf("%4d ",number);  
  12.                 if(counter%10==0)  
  13.                     System.out.printf("\n");  
  14.                 if(counter>=50)  
  15.                     break;  
  16.             }  
  17.         }  
  18.     }  
  19.   
  20. }  


*程序4-15

使用确认对话框控制循环:从2开始判断是否为素数,提示输入整数,判断;提示是否继续输入判断。

  1. import javax.swing.JOptionPane;  
  2. public class C0403 {  
  3.     public static void main(String[] args){  
  4.         int number,a;  
  5.         String s1;  
  6.         int option=JOptionPane.YES_OPTION;  
  7.         while(option==JOptionPane.YES_OPTION){  
  8.             s1=JOptionPane.showInputDialog("请输入一个整数");  
  9.             number=Integer.parseInt(s1);  
  10.             if(number==1||number==0)  
  11.                 JOptionPane.showMessageDialog(null,"输入值"+number+"不是一个素数");  
  12.             else{  
  13.                 for(a=2;a<=number/2;a++){  
  14.                     if(number%a==0)  
  15.                         break;  
  16.                 }  
  17.                 if(a>=(number/2+1))  
  18.                     JOptionPane.showMessageDialog(null,"输入值"+number+"是一个素数");  
  19.                 else  
  20.                     JOptionPane.showMessageDialog(null,"输入值"+number+"不是一个素数");  
  21.             }  
  22.             option=JOptionPane.showConfirmDialog(null,"是否继续输入值以判断素数?");  
  23.               
  24.         }  
  25.     }  
  26.   
  27. }  



 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多