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 }

猜你喜欢

转载自www.cnblogs.com/lenglangjin/p/10963955.html