当前位置: 首页 > news >正文

关于windows下的Enter键

     昨天遇到一个小小的问题,我被困扰了很久,问题虽小,不解决的话却始终坐立不安哪。其实问题很简单,就是关于java中Enter键的处理。因为没有很好的理解,所以有些问题始终解决不了。现在终于想通了,哦也~

关于Windows键盘上的Enter键,Windows用2个操作符来控制Enter键,即 \r\n

0x0D(asc码是13) 指的是“回车”   \r是把光标置于本行行首

0x0A(asc码是10) 指的是“换行”    \n是把光标置于下一行的同一列

0x0D + 0x0A        回车换行          \r\n把光标置于下一行行首 

    现在理解了么?看看下面这个题目,你能找出错误并改正就证明你理解了嘿嘿

题目:

将键盘上的一个数字序列号的每位数字存储在Vector对象中,然后在屏幕上打印出每位数字想要的结果,可以循环输入 例如,输入32,打印出5;再输入1234,打印出10;输入0,打印出0

错误代码段:

import java.util.*;

public class TestVector {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Vector v = new Vector();
        System.out.println("please enter numbers:");
        int b = 0;
        while (true) {

            while (true) {
                try {
                    b = System.in.read();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (b == '\r' || b == '\n')
                    break;
                else {
                    int num = b - '0';
                    v.addElement(new Integer(num));
                }
            }
            int sum = 0;
            Enumeration e = v.elements();// 枚举
            while (e.hasMoreElements())// 测试此枚举是否包含更多的元素。
            {
                Integer intObj = (Integer) e.nextElement();
                sum += intObj.intValue();
            }
            
                v.removeAllElements();
                System.out.println(sum);
            

        }
    }
}

修正后的代码段:只要加一个if语句即可

import java.util.*;

public class TestVector {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Vector v = new Vector();
        System.out.println("please enter numbers:");
        int b = 0;
        while (true) {

            while (true) {
                try {
                    b = System.in.read();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (b == '\r' || b == '\n')
                    break;
                else {
                    int num = b - '0';
                    v.addElement(new Integer(num));
                }
            }
            int sum = 0;
            Enumeration e = v.elements();// 枚举
            while (e.hasMoreElements())// 测试此枚举是否包含更多的元素。
            {
                Integer intObj = (Integer) e.nextElement();
                sum += intObj.intValue();
            }
            if (sum == 0 && v.isEmpty()) //这里就是控制不多输出0的if语句
                continue;
            v.removeAllElements();
            System.out.println(sum);

        }
    }
}

 

转载于:https://www.cnblogs.com/rpp506815950/archive/2012/11/08/2759898.html

相关文章:

  • 彻底搞懂 PHP 变量结构体,多数文章观点不准确
  • perl shift
  • Ovirt 笔记
  • Oracle rownum用法的归纳
  • windows 上rsync客户端使用方法
  • 高性能存储代表 NETGEAR ReadyDATA 5200评测报告
  • nginx日志所有HTTP状态及次数统计
  • 添加本地通知(UILocalNotification)以及添加系统组件滚动视图(UIScrollView)
  • HTTP协议具体解释
  • MySQL配置文件my.cnf 例子最详细翻译
  • 如何在Linux和windos中创建指定大小的文件
  • Google Talk Testing(早期版本)
  • 重温SportsStore项目所遇到的问题总结
  • curl 上传文件
  • 回老家
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • extract-text-webpack-plugin用法
  • flutter的key在widget list的作用以及必要性
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript对象详解
  • JSONP原理
  • js算法-归并排序(merge_sort)
  • node-glob通配符
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Shell编程
  • Vue--数据传输
  • 排序算法学习笔记
  • 排序算法之--选择排序
  • 前端工程化(Gulp、Webpack)-webpack
  • 物联网链路协议
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #{} 和 ${}区别
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (23)Linux的软硬连接
  • (ibm)Java 语言的 XPath API
  • (附源码)计算机毕业设计大学生兼职系统
  • (十一)c52学习之旅-动态数码管
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NetCore部署微服务(二)
  • .net快速开发框架源码分享
  • .sdf和.msp文件读取
  • /var/spool/postfix/maildrop 下有大量文件
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • @SpringBootApplication 包含的三个注解及其含义
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [04] Android逐帧动画(一)
  • [20170705]diff比较执行结果的内容.txt
  • [Android 13]Input系列--获取触摸窗口
  • [C语言]——函数递归
  • [delphi]保证程序只运行一个实例
  • [HDU3710]Battle over Cities
  • [LeetCode] Verify Preorder Sequence in Binary Search Tree 验证二叉搜索树的先序序列
  • [nowCoder] 两个不等长数组求第K大数
  • [oeasy]python0002_终端_CLI_GUI_编程环境_游戏_真实_元宇宙