第3章 程序流程控制

1.选择结构程序设计

Java语言提供了两条基本的分支选择语句:if语句和switch语句

双分支选择结构:if/else

单分支选择结构

多分支选择结构:switch

 

2.if语句

if(表达式)

  语句1

else

  语句2

 

3.斐波那契数列

public class chapter3 {
    public static void main(String[] args) {
        int f1 = 1, f2 = 1;
        for (int i = 1; i < 38 / 2; i++) {
            System.out.println(f1 + "\t" + f2);
            f1 = f1 + f2;
            f2 = f2 + f1;
        }
    }
}

 

4.李、王、张三人竞选,群众投票表决,试设计一个统计选票的程序

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class chapter3 {
    public static void main(String[] args)throws IOException{
        BufferedReader keyin=new BufferedReader((new InputStreamReader(System.in)));
        int Ltotal=0,Wtotal=0,Ztotal=0;
        char name;
        String c1;
        System.out.print("enter letter L or W or Z name,# to end:");
        c1=keyin.readLine();
        name=c1.charAt(0);
        while(name!='#'){
            switch(name){
                case 'L':
                case 'l':
                    Ltotal++;
                    break;
                case 'W':
                case 'w':
                    Wtotal++;
                    break;
                case 'Z':
                case 'z':
                    Ztotal++;
                    break;
            }
            System.out.print("enter letter L or W or Z name,# to end:");
            c1=keyin.readLine();
            name=c1.charAt(0);
        }
        System.out.println("Ltotal="+Ltotal);
        System.out.println("Wtotal="+Wtotal);
        System.out.println("Ztotal="+Ztotal);
    }
}

 

 

5.

continue结束本次循环,开始下次

break结束循环,跳出

 

6.编写打印三角形数字图案

public class chapter3 {
    public static void main(String[] args){
        for(int i=1;i<=10;i++){
            for(int j=1;j<=11-i;j++){
                System.out.print(" ");
            }
            for(int j=1;j<=i;j++){
                if (i >= 10) {
                    System.out.print(+i+" ");
                }
                else{
                    System.out.print(+i+"  ");
                }
            }
            System.out.println(" ");
        }
    }
}

 

7.求解8以内阶乘的和

public class chapter3 {
    public static void main(String[] args){
        int n=1,m,s,k=0;
        while(n<=8){
            for(s=1,m=1;m<=n;m++){
                s=s*m;
            }
            k=k+s;
            System.out.println(n+"!="+s+" k="+k);
            n++;
        }
    }
}

 

8.求1-100之间的素数

public class chapter3 {
    public static void main(String[] args){
        boolean[] ans=new boolean[101];
        for(int i=2;i<101;i++){//初始化ans数组
            ans[i]=true;
        }
        for(int i=2;i<101;i++){//遍历每个数
            int count=2;
            if(ans[i]==true) {
                while (i * count <= 100) {
                    ans[i * count] = false;
                    count++;
                }
            }
            else if(ans[i]==false){
                continue;
            }
        }
        for(int i=2;i<101;i++){
            if(ans[i]==true){
                System.out.println(i);
            }
        }
    }
}

 

9.编程求1-10平方的和

public class T3_7 {
    public static  void main(String[] args){
        int sum=0;
        for(int k=1;k<=10;k++){
            int tmp=k*k;
            sum=sum+tmp;
        }
        System.out.println(sum);
    }
}

 

10.编程输入3个数,将他们按从大到小顺序输出

import java.util.*;
public class T3_9 {
    public static void main(String[] args) {
        int[] num=new int[3];
        for(int i=0;i<3;i++) {
            Scanner input = new Scanner(System.in);
            num[i] = input.nextInt();
        }
    Arrays.sort(num);
        for(int i=0;i<3;i++){
            System.out.print(num[2-i]+" ");
        }
    }
}

 

11.分别用三种循环结构编程求自然数1-50之和

public class T3_10 {
    public static void main(String[] args){
        int sum1=0,sum2=0,sum3=0;
        for(int i=1;i<=50;i++){
            sum1=sum1+i;
        }
        int count1=0;
        while(count1<=50){
            sum2=sum2+count1;
            count1++;
        }
        int count2=0;
        do{
            sum3=sum3+count2;
            count2++;
        }while(count2<=50);
        System.out.println(sum1);
        System.out.println(sum2);
        System.out.println(sum3);
    }
}

 

12.编程实现1+3+7+……+(2^20-1)的值

public class T3_11 {
    public static void main(String[] args){
        long tmp=2;
        long sum=0;
        for(int i=1;i<=20;i++){
            //System.out.println(tmp-1);
            sum=sum+(tmp-1);
            tmp=2*tmp;

        }
        System.out.println(sum);
    }
}

 

13.求S=1-1/2+1/3-1/4+1/5-……-1/n;

public class T3_12 {
    public static void main(String[] args){
        double tmp=1;
        double sum=0;
        for(int i=1;i<=100;i++){
           if(i%2==0){
               tmp=(-1)/(double)i;
           }
           else if(i%2==1){
               tmp=(1)/(double)i;
           }
            //System.out.println(tmp);
           sum=sum+tmp;
        }
        System.out.println(sum);
    }
}

 

posted @ 2020-08-28 10:08  Heinrich♣  阅读(149)  评论(0编辑  收藏  举报