JAVA扫描仪//为什么我的对象无法输入?

时间:2014-05-04 21:54:15

标签: java object input java.util.scanner

Greetings Gentelmens; 所以我有一个对象MilkBottle,我想用java扫描仪给它一个输入。我的错误在哪里?

import java.util.Scanner;

public class MyClassBottle{

 String material;
 String volume;

 public static void main(String[] args){
 Scanner input = new Scanner(System.in);
 MyClassBottle MilkBottle = new MyClassBottle();
 System.out.println("Enter bottle material: ");
 Scanner one = MilkBottle.material, next();
 System.out.println("Enter bottle volume:  ");
 Scanner two = MilkBottle.volume, next();

System.out.println(MilkBottle.material);
System.out.println(MilkBottle.volume);

 }
}

我仍然是一个菜鸟,所以不要为我的代码责备太多!

P.S。提前谢谢!

1 个答案:

答案 0 :(得分:3)

这不是有效的Java。您需要使用分配来分配扫描仪的返回值

MyClassBottle MilkBottle = new MyClassBottle();
System.out.println("Enter bottle material: ");
MilkBottle.material = input.next();
System.out.println("Enter bottle volume:  ");
MilkBottle.volume = input.next();

话虽这么说,这个网站的目标是让提问者成为更好的程序员,所以我会指出其他可以改进的事情:

  • 命名约定:类名称大写,变量名称不大写。 MyClassBottle MilkBottle = new MyClassBottle();应为MyClassBottle milkBottle = new MyClassBottle();,并且对MilkBottle的所有访问都应为小写名称。
  • 类型:作为String,您的瓶子的体积可以是“1.2”,“100000000000000”,“15L”或“绿色鸡蛋和火腿”。您应该使用更有用的类型,例如int表示整数,double表示十进制值,而是在扫描程序上使用nextInt()nextDouble()
  • Constructors可用于更清晰地创建MyClassBottle的实例。读取扫描器输入到局部变量然后传递给构造函数,