当前位置:编程学习 > JAVA >>

一个Scanner问题,求解

import java.util.*;
public class TestEnum {
public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("Enter a Size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)");
String s = sc.next().toUpperCase();
Size size = Enum.valueOf(Size.class,s);
System.out.println("size=" + size);
System.out.println("abbreviation=" + size.getAbbreviation());
if(size == Size.EXTRA_LARGE) {
System.out.println("good");
}
}

}

enum Size {
SMALL("S"),MEDIUM("M"),LARGE("L"),EXTRA_LARGE("XL");

private String abbreviation;

private Size(String abbreviation) {
this.abbreviation = abbreviation;
}

public String getAbbreviation() {
return abbreviation;
}

}
为什么执行的顺序是先打印Enter a Size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)",后来才让我输入呢。 --------------------编程问答-------------------- ?
楼主认为应该怎样? --------------------编程问答-------------------- 因为你先打印:System.out.println("Enter a Size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)");

再写:String s = sc.next().toUpperCase(); --------------------编程问答-------------------- 因為執行Scanner的next()方法的時候才開始接收你輸入的內容 --------------------编程问答-------------------- 执行顺序啊 
Scanner sc = new Scanner(System.in);//创建一个控制台的输入
 System.out.println("Enter a Size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)");
 String s = sc.next().toUpperCase();//这里才是输入东西 --------------------编程问答-------------------- 创建一个控制台的输入 Scanner sc = new Scanner(System.in);
提示输入内容 System.out.println("Enter a Size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)");
将输入内容输入并同学转换成小写  String s = sc.next().toUpperCase();

如果不想看到Enter a Size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)"。直接删掉这句话就好。(中文提示:请键入一个规格:(。。。。。。)) --------------------编程问答-------------------- 为什么我运行报错?No enum const class fengzhuang.Size.W --------------------编程问答-------------------- Scanner这句不是放在System.out这句的前面吗?我不输入不是应该阻塞了吗?怎么会打印之后才让我输入呢。 --------------------编程问答--------------------
引用 4 楼  的回复:
执行顺序啊 
Scanner sc = new Scanner(System.in);//创建一个控制台的输入
 System.out.println("Enter a Size:(SMALL,MEDIUM,LARGE,EXTRA_LARGE)");
 String s = sc.next().toUpperCase();//这里才是输入东西

知道了,我以为创建控制台那句是叫输入的呢,谢谢了
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,