Java包装类

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类

键盘录入:

用nextLine()替代nextInt()、next()、nextDouble()等

为什么?

public static void main(String[] args) {
        /*键盘录入

        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int i=sc.nextInt();
        System.out.println(i);

         */


        //弊端:
        //当我们用next,nextInt,nextDouble在接受数据类型的时候,遇到空格,回车,制表符的时候就停止了
        //键盘录入的是123 123 那么只能接受到空格前面的数据
        //我想要的是接收一整行数据
        //约定:
        //以后我们如果想要键盘录入,不管遇到什么类型,统一使用nextLine
        //特点:遇到回车才停止
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        //String str=sc.next();
        //System.out.println(str);

        String line=sc.nextLine();
        System.out.println(line);

        int i=Integer.parseInt(line);  //在把字符串转换成int类型
        System.out.println(i);


    }

练习:

键盘录入1~100之间的整数,并添加到集合中,直到集合中的数和超过200为止

package API.packeging.test;

import java.util.ArrayList;
import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        /*

            键盘录入1-100之间的整数,并添加到集合中
            直到集合种所有数据和能超过200为止

         */

        //1.创建一个集合用来添加整数
        ArrayList<Integer> list=new ArrayList<>();
        //2.键盘录入数据添加到集合中
        Scanner sc=new Scanner(System.in);
        while(true){
            System.out.println("请输入一个整数:");
            String numStr=sc.nextLine();
            int num=Integer.parseInt(numStr);
            //先把异常数据先进行过滤
            if(num<1||num>100){
                System.out.println("当前数字不在1~100当中,请重新输入");
                continue;
            }
            //添加到集合中
            //num:基本数据类型
            //集合里面的数据类型是Integer
            //添加数据的时候触发了自动装箱
            //list.add(Integer.valueOf(num));
            list.add(num);

            //统计集合中的数据和
            int sum=getSum(list);
            //对sum进行判断
            if(sum>200){
                System.out.println("集合中的所有数据已经满足了要求");
                break;
            }

            //验证结论
            for(int i=0;i<list.size();i++){
                System.out.println(list.get(i)+" ");
            }

        }


    }

    private static int getSum(ArrayList<Integer> list) {
        int sum=0;
        for(int i=0;i<list.size();i++){
            //自动拆箱
            //int num=list.get(i.valueOf());
            int num=list.get(i);
            sum+=num;

        }
        return sum;

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西柚Pi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值