Day05之用户交互和结构

Day05

用户交互

我们通过Scanner类来获取用户的输入

  • 基本语法

在这里插入图片描述

next()

package com.gong.scanner;
import java.util.Scanner;
public class Demo01 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方式接收:");

        //判断用户是否输入字符串
        if(scanner.hasNext()){
            //使用next方式接收
            String str =scanner.next();
            System.out.println("输出的内容为:"+str);
        }
        //属于IO流的类如果不关闭就会一直占用资源,要养成好习惯已用完就关闭。
        scanner.close();
    }
}

输出

在这里插入图片描述

nextLine()

package com.gong.scanner;

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        //创建扫描器
        Scanner scanner =new Scanner(System.in);
        System.out.println("使用nextLine方式接收:");
        if(scanner.hasNextLine()){
            String str = scanner.nextLine();//等待输入
            System.out.println("输出的内容为:"+str);
        }
        scanner.close();
    }
}

输出

在这里插入图片描述

两者的区别

在这里插入图片描述

案例

我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车进行确认,通过输入非数字来结束输入并输出结果。

package com.gong.scanner;
import java.util.Scanner;
//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车进行确认,通过输入非数字来结束输入并输出结果。
public class Demo05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入:");
        //和
        double sum=0;
        //个数
        int m=0;
        while(scanner.hasNextDouble()){
            double x= scanner.nextDouble();
            m++;
            sum=sum+x;
            System.out.println("你输入了第"+m+"个数据,是:"+x);
        }
        System.out.println(m+"个数的和为:"+sum);
        System.out.println(m+"个数的平均数为:"+sum/m);
        scanner.close();
    }
}

输出

请输入:
1
你输入了第1个数据,是:1.0
2
你输入了第2个数据,是:2.0
3
你输入了第3个数据,是:3.0
4
你输入了第4个数据,是:4.0
5
你输入了第5个数据,是:5.0
6
你输入了第6个数据,是:6.0
7
你输入了第7个数据,是:7.0
8
你输入了第8个数据,是:8.0
9
你输入了第9个数据,是:9.0
10
你输入了第10个数据,是:10.0
x
10个数的和为:55.0
10个数的平均数为:5.5

顺序结构

在这里插入图片描述

选择结构

If选择结构

If单选择结构
package com.gong.struct;
import java.util.Scanner;
public class IfDemo01 {
    public static void main(String[] args) {
        Scanner scanner =new Scanner(System.in);
        System.out.println("请输入:");
        String s = scanner.nextLine();
        //equals判断字符串是否相等
        if(s.equals("Hello")){
            System.out.println("主人您好!");
        }
        System.out.println("end");
        scanner.close();
    }
}

输出

请输入:
Hello
主人您好!
end
If双选择结构
package com.gong.struct;
import java.util.Scanner;
public class IfDemo02 {
    public static void main(String[] args) {
        //考试分数大于60分就是及格,小于60分就是不及格
        Scanner scanner= new Scanner(System.in);
        System.out.println("请输入您的成绩:");

        double a = scanner.nextDouble();
        if(a>60){
            System.out.println("您已及格,您的成绩是"+a);
        }else
        {
            System.out.println("您不及格,您的成绩是"+a);
        }
        scanner.close();
    }
}

输出

请输入您的成绩:
66
您已及格,您的成绩是66.0
If多选择结构
  • if语句至多有一个else语句,else语句在所有的else if语句之后。

  • if语句可以有若干个else if语句,它们必须在else语句之前。

  • 一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行。

package com.gong.struct;
import java.util.Scanner;
public class IfDemo03 {
    public static void main(String[] args) {
        //成绩的等级划分
        Scanner scanner =new Scanner(System.in);
        System.out.println("请输入您的成绩:");
        int score =scanner.nextInt();
        if(score==100){
            System.out.println("恭喜满分!");
        }else if(score<100 && score>90){
            System.out.println("A级");
        }else if(score<90 && score>80){
            System.out.println("B级");
        }else if(score<80 && score>70){
            System.out.println("C级");
        }else if(score<70 && score>60){
            System.out.println("D级");
        }else if(score<60 && score>0){
            System.out.println("不及格");
        }else if(score==0){
            System.out.println("您仍需努力!");
        }else{
            System.out.println("成绩不合法");
        }
        scanner.close();
    }
}

输出

请输入您的成绩:
0
您仍需努力!

作业

用户在控制台输入0-6,判断是星期几。例如:输入0,输出星期一;输入1,输出星期二,其余依次类推。

package com.stx.p1.gonghaoyue;
import java.util.Scanner;
//用户在控制台输入0-6,判断是星期几。例如:输入0,输出星期一;输入1,输出星期二,其余依次类推。
public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner =new Scanner(System.in);
        System.out.println("请输入0-6判断今天是星期几:");
        int a= scanner.nextInt();
        if(a==0){
            System.out.println("您输入的是"+a+"所以今天是星期一");
        }else if(a==1){
            System.out.println("您输入的是"+a+"所以今天是星期二");
        }else if(a==2){
            System.out.println("您输入的是"+a+"所以今天是星期三");
        }else if(a==3){
            System.out.println("您输入的是"+a+"所以今天是星期四");
        }else if(a==4){
            System.out.println("您输入的是"+a+"所以今天是星期五");
        }else if(a==5){
            System.out.println("您输入的是"+a+"所以今天是星期六");
        }else if(a==6){
            System.out.println("您输入的是"+a+"所以今天是星期日");
        }else{
            System.out.println("您输入的日期不合法");
        }
        scanner.close();
    }
}

输出

请输入0-6判断今天是星期几:
5
您输入的是5所以今天是星期六
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值