黑马程序员技术交流社区

标题: 基础班谈谈Scanner,键盘录入 [打印本页]

作者: Miss.H    时间: 2015-7-7 23:51
标题: 基础班谈谈Scanner,键盘录入
我是基础班的说的浅大家见谅.
获取键盘录入:
                1) 导包: java.util.Scanner; -- 写在class上面并且后面有个分号
                2) 封装键盘录入:
                        Scanner sc = new Scanner(System.in);  这里sc是变量名字,我们可以起个其他的.其它都是固定格式.
                3) int i = sc.nextInt();//这里是个重点也是难点.到这里这个方法就会阻塞式运行,将控制台输入的下一个数据作为int类型值返回 int型数据键盘输入方法

                   如果为String类型的那么如:String name = sc.nextLine();就是这样的格式;
另外在定义了1和2之后3可以在后面任意调用了.下面列题;
import java.util.Scanner;
class  Demo1
{
        public static void main(String[] args)
        {
                {
                        System.out.println("欢迎来到黑马游戏厅!");
                        System.out.println("有如下选项可供选择:");
                        System.out.println("1 倒序输出");
                        System.out.println("2 计算两个数之间所有偶数的和");
                        System.out.println("3 打印小星星");
                        System.out.println("4 给你个惊喜");
                        System.out.println("请选择一个游戏:");
                }
                Scanner sc = new Scanner(System.in);
                boolean flag = true;
                abc:while(flag)
                {
                        int choose = sc.nextInt();
                        switch(choose)
                        {
                                case 1:
                                        System.out.println("你选择了倒序输出.");
                                        System.out.println("请输入第一个数");
                                        int a = sc.nextInt();
                                        System.out.println("请输入第二个数");
                                        int b = sc.nextInt();
                                        System.out.println("倒序输出为:");
                                        a = a^b;
                                        b = a^b;
                                        a = a^b;
                                        System.out.println("a="+a+",b="+b);
                                        System.out.println("你可以继续选择一个游戏:");
                                        break;
                                case 2:
                                        System.out.println("你选择了计算两个数之间所有偶数的和.");
                                        while (true)
                                        {
                                                System.out.println("请输入第一个较大的那个数:");
                                                int x = sc.nextInt();
                                                System.out.println("请输入第二个较小的那个数:");
                                                int y = sc.nextInt();
                                                if (x<y)
                                                {
                                                        System.out.println("第一个数应大于第二个数,请重新输入");
                                                        continue;
                                                }
                                                else
                                                {
                                                        int temp=0;
                                                        for (int i = y;i <= x ;i++ )
                                                        {
                                                                if (i%2==0)
                                                                {
                                                                        temp+=i;
                                                                }
                                                        }
                                                        System.out.println(x + "到" + y + "之间所有的(包含边界)偶数和为:" + temp);
                                                }
                                                System.out.println("你可以继续选择一个游戏:");
                                                break;
                                        }
                                case 3:
                                        System.out.println("你选择了打印小星星.");
                                        while (true)
                                        {
                                                System.out.println("请输入小星星的行数,请控制在1到10行之间");
                                                int l = sc.nextInt();
                                                if (l<=0 || l>10)
                                                {
                                                        System.out.println("输入的行数有误,请重新输入.");
                                                        continue;
                                                }
                                                else
                                                {
                                                        for (int i = 0; i < l; i++)
                                                        {
                                                                for (int j = 0; j < i + 1; j++)
                                                                {
                                                                        System.out.print("*");
                                                                }
                                                                System.out.println();
                                                        }                                               
                                                }System.out.println("你可以继续选择一个游戏:");
                                                break;
                                        }
                                               
                                               
                                case 4:
                                        System.out.println("你猜我会给你个什么惊喜.");
                                        System.out.println("好吧,我给你个九九乘法表,重温下幼儿园生活吧.");

                                        System.out.println("-----------------------------------------------------------------------");
                                       
                                        for (int i = 1; i <= 9; i++)
                                        {
                                                for (int j = 1; j <= i; j++)
                                                {
                                                        System.out.print(j + "*" + i + "=" + (j * i) + "\t");
                                                }
                                                System.out.println();
                                        }
                                       
                                        System.out.println("-----------------------------------------------------------------------");
                                        System.out.println("你可以继续选择一个游戏:");
                                        break;

                                default:
                                        System.out.println("选择有误,重新选择.");
                                        continue abc;
                        }
                }
        }
}


作者: 陈小林    时间: 2015-7-7 23:55
赞一个!小伙不错
作者: 3307747472    时间: 2015-7-8 00:03
不错,,,,,
作者: zhangxin    时间: 2015-7-8 00:59
赞一个!
作者: limingdada    时间: 2015-7-8 07:32
不错不错,好长的代码。
作者: A等待着    时间: 2015-7-8 21:30
可以呀,赞下...
作者: xyxlx111    时间: 2015-7-8 23:31
可以,顶一下
作者: 小囧    时间: 2015-7-8 23:52
顶顶顶顶顶
作者: 杨基米德    时间: 2015-7-9 06:46
挺好玩的~
作者: nanfp    时间: 2015-7-9 08:55
赞一个!!!!
作者: hwy801207    时间: 2015-7-9 08:56
牛x,记忆力真好啊
作者: dajiaoya    时间: 2015-7-9 10:06
分享快乐,赞一个
作者: qiaozengji668    时间: 2015-8-22 07:39
顶一下!!!
作者: 疯疯疯疯疯子    时间: 2015-8-22 08:27
路过,受教了
作者: 范兵锋    时间: 2015-8-22 12:04
不错,把几天的东西都融在一起了
作者: 风华正茂    时间: 2015-8-22 12:14
楼主写得不错,赞一个
作者: 胡述灵    时间: 2015-8-22 12:16
不错,顶一个!
作者: 三分之一    时间: 2015-8-22 14:28
很有意思的一段代码~顶一下
作者: code_linux    时间: 2015-8-22 20:40
顶一下,,蛮有意思的!!
作者: dk_mrbai    时间: 2015-8-22 20:54
细节很重要。。
作者: 陈思伟    时间: 2015-8-22 21:24
666666666666666666
作者: 氕氘氚    时间: 2015-8-22 21:36
有想法啊,把学的知识都综合起来了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2