紧接着上一篇 的博客,这次来说一说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
版权声明:本文为博主原创文章,转载请附上博文链接!
|
|