java經典程序(1-10)

  1 package question;
  2 
  3 import java.util.Scanner;
  4 /**
  5  * java經典程序
  6  * @author llj
  7  * @date 2019年6月2日
  8  */
  9 public class Test {
 10     /**
 11      * 1.判斷某一年是否是閏年
 12      * 能除以4不能除以100閏年
 13      * 能除以400是閏年
 14      */
 15     public void test1(){
 16         while(true){
 17             Scanner sc = new Scanner(System.in);
 18             int a = sc.nextInt();
 19             if(a<3000&&a>0){
 20                 //知足其中一個進行
 21                 if(a%4==0&&a%100!=0||a%400==0){
 22                     System.out.println(a+"是閏年");
 23                 }else{
 24                     System.out.println(a+"不是閏年");
 25                 }
 26             }else{
 27                 System.out.println("請輸入0到3000的數");
 28             }
 29         }
 30     }
 31     /**
 32      * 輸入一個分數,顯示分數的等級
 33      */
 34     public void test2(){
 35         Scanner sc = new Scanner(System.in);
 36         int a = sc.nextInt();
 37         String str = "";
 38         //在這個分數階段才執行
 39         if(a>=0&&a<=100){
 40             switch(a/10){
 41                 case 10 :str = "滿分"; break;
 42                 case 9:str="優";break;
 43                 case 8 :str = "良"; break;
 44                 case 7:str="中";break;
 45                 case 6 :str = "差"; break;
 46                 default :str="不及格";
 47             }
 48             System.out.println(str);
 49         }else{
 50             System.out.println("輸入的分數有誤");
 51             System.exit(0);//退出系統
 52         }
 53     }
 54     /**
 55      * 編寫程序求1+3+5+7+···+99
 56      */
 57     public void test3(){
 58         int sum=0;
 59         //i每次加2
 60         for(int i=1; i<=99; i+=2){
 61             sum+=i;
 62         }
 63         System.out.println(sum);
 64     }
 65     //使用for循環打印9*9表
 66     /**
 67      *  1*1=1 
 68         1*2=2 2*2=4 
 69         1*3=3 2*3=6 3*3=9 
 70         1*4=4 2*4=8 3*4=12 4*4=16 
 71         1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
 72         1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
 73         1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
 74         1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
 75         1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 
 76      */
 77     public void test4(){
 78         for(int i=1; i<10; i++){
 79             for(int j=1; j<=i; j++){
 80                 System.out.print(j+"*"+i+"="+j*i+" ");
 81             }
 82             //每行打印完換行
 83             System.out.println();
 84         }
 85     }
 86     /**
 87      * 輸出全部的水仙花數水仙花數是指一個3位數各位數字的立方和等於自己
 88      * 例如:153=1*1*1+5*5*5+3*3*3
 89      */
 90     public void test6(){
 91         for(int i=100; i<1000; i++){
 92             //獲取百分位
 93             int aa = i/100;
 94             //獲取十分位153%100=53,53/10=5
 95             int bb = i%100/10;
 96             //獲取個位153%10=3   取餘數
 97             int cc = i%10;
 98             //System.out.println(aa +":"+bb+":"+ cc +"==="+i);
 99             if(aa*aa*aa+bb*bb*bb+cc*cc*cc==i){
100                 System.out.println(i+"是水仙花數");
101                 //153是水仙花數
102                 //370是水仙花數
103                 //371是水仙花數
104                 //407是水仙花數
105             }
106         }
107     }
108     /**求a+aa+aaa+···+aaaaaaaaa··
109     *   其中a 等於1-9之中的一個數
110     *   a的大小和最後一項的個數由用戶指定
111     */
112     public void test7(){
113         Scanner sc = new Scanner(System.in);
114         System.out.println("輸入a的大小!(a>0&&a<=9)");
115         int a = sc.nextInt();
116         System.out.println("輸入最後一項a的個數!");
117         int num = sc.nextInt();
118         int sum=0;
119         int b = a;//保存a的值,保證每次加的都是這個值
120         for(int i=0; i<num; i++){
121             sum = sum + a;//用sum接收
122             a = a*10+b;//a的值表示第幾項的值,
123         }
124         System.out.println(sum);
125             /*輸入a的大小!(a>0&&a<=9)
126               6
127                  輸入最後一項a的個數!
128               6
129              740736
130            */
131     }
132     /**
133      * 求2/1+3/2+5/3+8/5+····前20項的和
134      * 規律:分子和分母的值都是前兩項的和
135      * 分子 2 3 5 8 13 21 。。。
136      * 分母 1 2 3 5 8 13
137      */
138     public void test8(){
139         double sum = 0;
140         double fz = 2.0;
141         double fm = 1.0;
142         for(int i=0; i<4; i++){
143             sum+=fz/fm;
144             double temp = fm;
145             fm = fz; //下一項的分母等於上一項的分子
146             fz = fz+temp;//下一項的分子等於上一項的分子加分母
147         }
148         System.out.println(sum);//6.7666666666666675
149 
150     }
151     /**
152      * 利用程序輸出如下圖形
153      *         *
154      *         ***
155      *         *****
156      *         *******
157      *         *****
158      *         ***
159      *         *
160      * 
161      */
162     public void test9(){
163         for(int i=1; i<=13; i+=1){
164             for(int j=1; j<=i&&j+i<=14; j++){
165                 System.out.print("*");
166             }
167             System.out.println();
168         }
169         
170     }
171     /**
172      * 計算圓周率
173      * PI=4-4/3+4/5-4/7...
174      * 打印出第一個大於3.1415小於3.1416的值
175      */
176     public void test10(){
177         //分子爲4,分母 1 3 5 7 9 符號:- + - +
178         double PI=4.0;
179         double fm = 3.0;
180         int i = 0;
181         while(true){
182             i++;//循環次數
183             if(i%2==0){//用於判斷正負號
184                 PI = PI-4.0/fm;
185             }else{
186                 PI = PI+4/fm;
187             }
188             if(PI>3.1415&&PI<3.1416){
189                 System.out.println(PI);//3.1415000095284658
190                 System.out.println(i);//循環次數10793
191                 return;
192             }
193             fm+=2;//分母每次加2
194         }
195         
196     }
197     /**
198      * 計算圓周率
199      * PI=4-4/3+4/5-4/7...
200      * 打印出第一個大於3.1415小於3.1416的值
201      */
202 
203     public void test10_1(){
204         //分子爲4,分母 1 3 5 7 9 符號:- + - +
205         double PI=4.0;
206         double fm = 3.0;
207         double fz = -4.0;
208         int i = 0;
209         while(true){
210             i++;
211             PI+=fz/fm;
212             fz =fz*(-1);
213             fm+=2;
214             if(PI>3.1415&&PI<3.1416){
215                 System.out.println(PI);
216                 System.out.println(i);//循環次數10793
217                 return;
218             }
219         }
220     }
221         
222     public static void main(String[] args) {
223         Test t = new Test();
224         t.test4();
225     }
226 }
相關文章
相關標籤/搜索