java - 有没有办法继续重复数组列表。像 arraylist 有 12,但它会在使用相同的列表时继续计数
问题描述
我已经使用 %12 计算出这个星座,但我想在没有那个的情况下创建它,但我不知道有没有办法在重复相同的列表时保持它的计数?
这是代码。谢谢
Scanner scan = new Scanner(System.in);
String ans=null;
System.out.print("Enter your Birth Year: ");
int birthYear= scan.nextInt();
do{
String[] sign = {"Monkey", "Rooster", "Dog", "Pig", "Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Sheep"};
for(int i=0; i<sign.length; i++){
ans=sign[birthYear];
}
}while(ans==null);
System.out.println("Your Zodiac Sign is: "+ans);
解决方案
如果你使用 anList<String>
你可以做一个简单的get
List<String> signs = Arrays.asList(new String[] {"Monkey", "Rooster", "Dog",
"Pig", "Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Sheep"});
String result = signs.get(1994 % 12);
System.out.println(result);
输出
Dog
推荐阅读
- python - Anaconda 提示打开时出错
- python - 为什么我无法在 python 中使用 youtube-dl 下载 mp4 文件
- sql-server - 将所有常规设置分组在一个表中或为每个设置创建表是否正确?
- python - 使用变量来描述数组/列表索引的索引范围/切片
- masm - 汇编程序中是否有特殊符号表示源代码中的换行符?
- c++ - 更改球体的位置而不重新创建它
- image - 是否有任何应用程序可以查看 .scn 格式的医学图像(3D)?
- android-studio-3.0 - 使用:在 android (manifest.xml)
- crdt - 如何在 delta-crdt 中管理和保持 delta-state 的大小最小
- c++ - 使用 max 函数和/或替代方法的正确方法