A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

紧接着上一篇 的博客,这次来说一说Java中的流程控制,只看题目,不讲语法!从题目中学习Java的流程控制。

从键盘输入一个0--100的成绩,用switch语句实现优良中及格不及格五等,并输出。



import java.util.Scanner;

public class Demo1 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Scanner scanner = new Scanner(System.in);
                int num;
                System.out.println("请输入一个整数:");
                num = scanner.nextInt();
                switch (num/10) {
                case 9 :
                case 10 :
                        System.out.println("优秀");
                        break;
                case 8 :
                        System.out.println("良好");
                        break;
                case 7 :
                        System.out.println("中等");
                        break;
                case 6 :
                        System.out.println("及格");
                        break;
                default:
                        System.out.println("不及格");
                        break;
                }
switch语句中的重点就是switch后面跟的只能是:除了浮点型和字符型,其他都支持,同时case后面的类型要跟switch后面的数据类型保持一致!!

从键盘输入一个数,判断该数是否可以被3整除并且被7整除。

import java.util.*;
class App4_8
{
        public static void main(String[] args)       
        {
                Scanner reader = new Scanner(System.in);
                int num;
                num = reader.nextInt();
                if (num%7 == 0 && num%3 == 0)
                {
                        System.out.println("这个数满足条件");
                }
                else
                {
                        System.out.println("这个数不满足条件");
                }
       
        }
}
这题就是简单的输入输出加上简单的if判断。

在键盘上输入n,编程计算sum=1-1/2!+1/3!-...(-1)(n-1)次方*1/n!的值。

import java.util.Scanner;

public class Demo2 {

        public static void main(String[] args) {
                Scanner scanner = new Scanner(System.in);
                int n;
                int flag = -1;
                float add_sum = 0;
                int mul_sum;
                System.out.println("请输入一个整数:");
                n = scanner.nextInt();
                for (int i = 1; i <= n; i++) {
                        mul_sum = 1;
                        for (int j = 1; j <= i; j++) {
                                mul_sum *= j;                               
                        }
                        flag = flag * -1;
                        add_sum = (float) (add_sum + 1.0/(flag * mul_sum));       
                }
                System.out.println(add_sum);
        }
}
注意点:数据类型一定要预先设定好,还要注意符号的变化!

编写Java程序,在键盘上输入n,计算并输出1!+2!+...+n!的结果

import java.util.*;
public class App4_4 {
        public static void main(String[] args)
{
                int num;
                int add;
                int sum = 0;
                System.out.println("请输入一个整数n:");
                Scanner reader = new Scanner(System.in);
                num = reader.nextInt();
                for (int i = 1;i <= num ;i++ )
                {
                        add = 1;
                        for (int j = 1;j <= i ;j++ )
                        {      
                                add = add * j;
                        }
                        sum = sum + add;
                }
                System.out.println(sum);
        }
}
注意点:每一次的第二个循环之前,add这个参数的值要重新赋值为1!!!

求出所有的水仙花数。

import java.util.*;//求出所有的水仙花数
public class App4_5
{
        public static void main(String[] args)       
        {
                int i;
                int a,b,c;
                for (i = 100;i <= 999 ;i++)
                {
                        a = i/100;
                        b = i/10%10;
                        c = i%10;
                        if (a*a*a+b*b*b+c*c*c == i)
                        {
                                System.out.println(i);
                        }
                }

        }
}


从键盘上输入一个整数,判断该数是否为完全数,完全数是所有因数(不包含自身)的和等于自身的数,例如28=1+2+4+7+14。



import java.util.*;
public class  App4_6
{
        public static void main(String[] args)       
        {
                int i;
                int num;
                int sum = 0;
                Scanner reader = new Scanner(System.in);
                num = reader.nextInt();
                for (i = 1;i < num ; i++)
                {
                        if (num%i == 0)
                        {
                                sum+=i;//可以进行优化,减少一半的循环
                        }
                }
                if (sum == num)
                {
                        System.out.println("这个数是完全数");
                }
                else
                {
                        System.out.println("这个数不是完全数");
                }
        }
}


计算并输出一个整数各位数字之和。

import java.util.Scanner;

public class Demo3 {

        public static void main(String[] args) {
                // TODO 自动生成的方法存根
                Scanner scanner = new Scanner(System.in);
                System.out.println("请输入一个整数:");
                int num = scanner.nextInt();
                int sum = 0;
                do {
                        sum += num%10;
                        num = num/10;
                } while (num!=0);
                System.out.println("各位数字之和是:"+sum);
        }
}


设有一长3000米的绳子,每天减去一半,问需要几天,绳子的长度会小于5米?



public class Demo4 {

        public static void main(String[] args) {
                // TODO 自动生成的方法存根
                double n = 3000;
                int day = 0;
                while (n >= 5) {
                        n = n/2;
                        day++;                       
                }
                System.out.println("绳子需要"+day+"天会小于5米");
        }
}
注意点:数据类型要注意!

编程输出以下图案:

1   3   6   10   15

2   5   9   14

4   8   13

7   12

11

class Diff
{
        public static void main(String[] args)
{
                int i;
                int j;
                int sumi = 1;
                int sumj = 0;
                for (i = 0;i <= 4 ;i++ )
                {
                        sumi = sumi + i;
                        System.out.print(sumi);
                        System.out.print("   ");
                        sumj = sumi;
                        for (j = i+2;j <= 5 ;j++ )
                        {
                                sumj = sumj + j;
                                System.out.print(sumj);
                                System.out.print("   ");

                        }
                        System.out.println();

                }
        }
}
最后一道题目解法很多,我的解法不是最好的,有兴趣的人可以尝试一下!上面有错误的地方请批评指正!

最后,还是那句话,有兴趣的小伙伴可以一起学习交流啊!
---------------------
【转载,仅作分享,侵删】
作者:zhiguo98
来源:CSDN
原文:https://blog.csdn.net/yanzhiguo98/article/details/88259826
版权声明:本文为博主原创文章,转载请附上博文链接!

1 个回复

倒序浏览
奈斯,感谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马