我正在尝试使用此us 1.0.0 package获取美国州名列表,但遇到一些我不太了解的内容。这是我的代码:
Scanner keyboard = new Scanner(System.in);
String number = keyboard.nextLine();
int guess, guess2;
guess = Integer.valueOf((number.substring(0, 1)));
guess2 = Integer.valueOf((number.substring(1, 2)));
System.out.println(guess);
System.out.println(guess2);
最后一行最让人困惑。为什么这是假的?我认为它们看起来完全一样......
无论如何,我的问题是,我怎么能用这个包来制作一个州名列表,以便我可以检查一个字符串是否是州名,如:
import us
lst= us.states.STATES_AND_TERRITORIES
type(lst) # output: list
type(lst[0]) # output: us.states.State
lst[0] # output: <State:Alabama>
'<State:Alabama>' == list[0] # output: False
答案 0 :(得分:2)
<State:Alabama>
只是State
的字符串表示。列表项本身不是一个字符串,但类型为us.states.State
,因为您之前看到过两行。
我没有尝试过,但根据该软件包的文档,要获取所有州名的列表,列表理解如下:
state_names = [state.name for state in us.states.STATES_AND_TERRITORIES]