梁勇 java教材 编程练习题 第二章 2.6 键盘 读取一个在0 到 9999 之间的整数,并将该整数的各位数字相加。

import java.util.Scanner;
/**
 *  需求:从键盘输入任意0~9999之间的整数,输出这个整数各位数字之和。
 *  思路:方法一,使用扫描器Scanner类,扫描控制台输入流
 *                        将输入的字符串类型转为整型。
 *               通过/操作和%操作得到各位数字,然后输出各位数字之和。
 *  步骤:略
 */
public class InputDemo {

    public static void main(String[] args) {
        System.out.println("请输入0~9999之间的整数");
        //方法一,使用扫描器Scanner类,扫描控制台输入流
        Scanner scan=new Scanner(System.in);
        int number=Integer.parseInt(scan.nextLine());
        //方法二,使用输入流,控制台字节输入流转换成字符输入流,再通过BufferedReader包装类实现读一行
//        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//        int number = 0;
//        try {
//            number = Integer.parseInt(br.readLine());
//        } catch (NumberFormatException e) {
//            // TODO Auto-generated catch block
//            e.printStackTrace();
//        } catch (IOException e) {
//            // TODO Auto-generated catch block
//            e.printStackTrace();
//        }
        //方法三,基本同方法二,只是先将系统输入流赋值给输入流
//        InputStream is=System.in;
//        BufferedReader br=new BufferedReader(new InputStreamReader(is));
//        int number = 0;
//        try {
//            number = Integer.parseInt(br.readLine());
//        }catch(IOException e) {
//            e.printStackTrace();
//        }catch(NumberFormatException e) {
//            e.printStackTrace();
//        }finally {
//            try {
//                br.close();
//            }catch(IOException e) {
//                e.printStackTrace();
//            }
//        }
        int n0=number/1000;
        int n1=number%1000/100;
        int n2=(number%100)/10;
        int n3=number%10;
        int sum=n0+n1+n2+n3;
        System.out.println("The sum of itself is "+sum);
    }
}

 

posted @ 2017-09-11 19:13  Advancing-Swift  阅读(747)  评论(0编辑  收藏  举报