关于Java实现一个简单水果订购管理系统的几点问题
这个周用java写了一个简单的水果订购系统。其中遇上了几个问题
一、在编写过程中,我试图输入订购数量,然后计算机进行读取再存入数据库。当我输入1时,编译器显示我输入的 数量为49。
经过排查我发现问题出在我使用的输入类上。
在这个题目中,我第一次使用的是BufferedReader类和InputStreamReader类。其中包含方法bf.read(),和bf.readLine()。
当使用bf.read()时,输入的是int型,返回的是字符的char型码,而1的char码正好是49。
当使用bf.realLine(),输入的是int型,返回的是String型,如果需要使用Int型,则还需要转型。
Java中br.readLine与 br.read的用法区别
如下:
所以,在需要读取键盘输入的值时,最好使用scanner类,不用进行转码。
二、在完成第一次购买后,我试图输入“买”或“不买”,来判断是否继续买水果。
但当我在控制台准备输入“买”时,却无法输入。
经过查询,我发现是我使用的sc.nextLine()已经关闭。这主要是由于sc.next()和sc.nextInt()连续使用造成的。
当用nextInt()读取缓冲区数据时,遇到回车或者空格,数据就会被读取走,但是回车符或者空格会被留下。当再调用nextLine()时,因为nextLine()是以回车符结束,当被调用后,刚好缓冲区还有被nextInt()“吃”剩下的回车符,所以还没等接着输入第二个参数,nextLine()就已经结束。因为只读取到一个回车符,所以pile的参数自然为空,从而导致后序程序出现异常。
ava中nextInt()之后的nextLine()读取不到键盘输入的情况
nextLine()不要和其他next方法一起用!!!尤其nextLine()不要放在它们后面!!!
三、当完成购买的数量和交易额的确认后,我准备将其存入数据库,编译未报错,运行时报出了SQL语句语法错误。
经过查询,发现是我的insert语句中没有写入插入的列名。
由于所跟教材的数据库版本问题,导致出现此错误。又因为是String语句,导致编译通过而不报错。
今后在向数据库插入数据时,一定不要忘了指定列名。
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 关于java通信的一个简单聊天系统的实现
- 用JAVA实现一个简单的学生管理系统
- 用java实现一个简单的学生管理系统
- 关于java通信的一个简单聊天系统的实现
- 关于java通信的一个简单聊天系统的实现
- 问题:关于贴友一个用js传递value默认值的简单实现
- 关于海量数据TopK问题的一个具体实现(java)
- php--实现一个简单的学生管理系统
- 使用python实现一个简单的学生信息管理系统
- JAVA实训--简单图书管理系统的实现(利用文件存储数据)
- Java编写ArrayBasic制作一个简单的酒店管理系统
- 关于dp01背包问题的几点理解(二维数组,java实现)
- java中用xml文件的形式实现简单的图书管理系统
- 学生管理系统java简单实现
- Java控制台实现简单学生管理系统
- 学习Java的第一步是安装好JDK,写一个Hello World, 其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加
- C实现的一个简单的学生成绩管理系统
- 用链表实现一个简单的学生操作管理系统C语言版
- 基于JAVA集合框架实现一个简单的学生管理系统