Java代码中的问题及解决
刚开始学习Java,在敲代码的时候会遇到很多的问题,有时候会上网查询解决办法。接下来我将简单介绍我所遇到的一些问题。
在Java代码中我们遇到输入问题,会用到Scanner,但是,我有时候在代码中用到Scanner,运行的时候会出现问题。比如下面这个计算商品打折的代码
public class Discount{
public static void main(String[] args){
System.out.println("请输入商品总价:");
Scanner scanner=new Scanner(System.in);
double sum=scanner.nextDouble();
System.out.println("请输入打几折:");
int count=scanner.nextInt();
double pay=sum*count*0.1;
System.out.println("支付金额为:"+pay);
}
}
我们需要输入商品的总价和商品需要打的折数,需要用到Scanner,当代码运行起来的时候,却出现了这样的提示
Discount.java:5: 错误: 找不到符号
Scanner scanner=new Scanner(System.in);
^
符号: 类 Scanner
位置: 类 Discount
Discount.java:5: 错误: 找不到符号
Scanner scanner=new Scanner(System.in);
^
符号: 类 Scanner
位置: 类 Discount
2 个错误
很长一段时间我都不知道自己的问题出在了哪里,直到有一次在CSDN看到一道例题,第一行是我没见过的代码,写作 import java.util.Scanner; 于是我将这一行代码复制粘贴到网上去查询,我才明白这句话是用来构建Scanner对象的,没有这句话的话使用Scanner会报错。当我把这句话加在了我的代码开头的时候,我的代码就能正常的运行了。
当我第一次完整的读一遍Java代码的时候,对里面许多的用法感到疑问,比如第一次看到书上的这段代码
double income = 0.0;
int status =0;
double tax =0;
System.out.println("请输入纳税人的类型:0-单身,1-已婚,2-家庭");
Scanner inStatus=new Scanner(System.in);
if(inStatus.hasNextInt()){
status =inStatus.nextInt();}
1.new Scanner是为了创建一个新的Scanner对象
2.inStatus是被赋的对象
3.new Scanner后的System.in可以看作是这个对象的特征
4.hasNextInt的作用是判断这个对象是否为整型数字;同理,hasNextDouble的作用就是判断这个对象是否为浮点型数字
如此一来就大概可以看懂这个代码是什么意思