- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在为一个类做这个作业,但我一生都无法弄清楚如何使用 Collections.shuffle() 方法来打乱由州及其大写字母组成的数组。现在,当我洗牌数组时,它会洗牌所有内容。我需要它来调整一切,同时也保持国家和资本之间的关系。 (即
[阿拉巴马州][蒙哥马利],[阿拉斯加][朱诺],...
不应该变成这样的
[阿拉巴马州][阿拉斯加]、[朱诺][蒙哥马利]、...
或
[阿拉斯加州][蒙哥马利]、[朱诺][阿拉巴马州]...
我有什么遗漏的吗?这是到目前为止的工作代码...
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/**
* @author mstashev
*
* Rewrite Programming Exercise 8.37 to store the pairs of states and
* capitals so that the questions are displayed randomly.
*
* Exercise 8.37
*
* Write a program that repeatedly prompts the user to enter a capital
* for a state. Upon receiving the user input, the program reports
* whether the answer is correct. Assume that 50 states and their
* capitals are stored in a 2D array. The program prompts the user to
* answer all state's capitals and displays the total correct count. The
* user's answer is not case-sensitive.
*/
public class RandomStateCapitalQuestionnaire {
/**
*
*/
public static void main(String[] args) {
// create a 2D array storing all 50 states and capitals
String[][] twoDStatesAndCapitals = {
{ "Alabama", "Alaska", "Arizona", "Arkansas", "California",
"Colorado", "Connecticut", "Delaware", "Florida",
"Georgia", "Hawaii", "Idaho", "Illinois", "Indiana",
"Iowa", "Kansas", "Kentucky", "Louisiana", "Maine",
"Maryland", "Massachusetts", "Michigan", "Minnesota",
"Mississippi", "Missouri", "Montana", "Nebraska", "Nevada",
"New Hampshire", "New Jersey", "New Mexico", "New York",
"North Carolina", "North Dakota", "Ohio", "Oklahoma",
"Oregon", "Pennsylvania", "Rhode Island", "South Carolina",
"South Dakota", "Tennessee", "Texas", "Utah", "Vermont",
"Virginia", "Washington", "West Virginia", "Wisconsin",
"Wyoming" },
{ "Montgomery", "Juneau", "Phoenix", "Little Rock", "Sacramento",
"Denver", "Hartford", "Dover", "Tallahassee", "Atlanta",
"Honolulu", "Boise", "Springfield", "Indianapolis",
"Des Moines", "Topeka", "Frankfort", "Baton Rouge",
"Augusta", "Annapolis", "Boston", "Lansing", "St. Paul",
"Jackson", "Jefferson City", "Helena", "Lincoln",
"Carson City", "Concord", "Trenton", "Santa Fe", "Albany",
"Raleigh", "Bismark", "Columbus", "Oklahoma City", "Salem",
"Harrisburg", "Providence", "Columbia", "Pierre",
"Nashville", "Austin", "Salt Lake City", "Montpelier",
"Richmond", "Olympia", "Charleston", "Madison", "Cheyenne" }
};//End of 2D array
Random rnd = new Random();
System.out.println(Arrays.deepToString(twoDStatesAndCapitals));
List<List<String>> statesAndCapitals = twoDArrayToList(twoDStatesAndCapitals);
Collections.shuffle(statesAndCapitals, rnd);
System.out.println(statesAndCapitals);
/*
i = 0;
for (i = 0; i < NUMBER_OF_US_STATES; i++) {
System.out.println("Enter the Capital of the State listed: " + statesAndCapitals[i][0]);
userInput = input.next();
if (statesAndCapitals[i][1].equals(userInput)) {
correctStates++;
System.out.println("Yes that is the capital of " + statesAndCapitals[i][0] + ".");
}//end of if
else {
System.out.println("No that is not the capital of " + statesAndCapitals[i][0] + ".");
i++;
}//end of else
}//end of for loop
// counts the number of correct guesses.
System.out.println("Total number of capitals answered correctly: " + correctStates + ".");
i++;
return;
*/
}
public static <T> List<List<String>> twoDArrayToList(T[][] twoDArray){
List<T> list = new ArrayList<T>();
for (T[] array : twoDArray) {
list.addAll(Arrays.asList(array));
}
return (List<List<String>>) list;
}
}
最佳答案
这不是适合您问题的数据结构。您需要一个对的列表/数组(例如 List<Map.Entry<String, String>>
),然后调用 Collections.shuffle()
在该列表中。
关于java - 打乱二维数组,同时将列元素保持在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31641638/
我正在使用下面的随机播放脚本来随机化网站上某些 div 的顺序。 http://james.padolsey.com/javascript/shuffling-the-dom/ 该脚本有效,但仅随机化
我想打乱 HashMap 中的值。我有以下类型的 HashMap Map > trainDataSet = new HashMap>(); 我想打乱 map 中的值。我该怎么做呢? 以下是我的尝试:
这个问题已经有答案了: Shuffle a list of integers with Java 8 Streams API (8 个回答) 已关闭 3 年前。 我有一个单词列表:List words
我必须使用 SQL SELECT 语句返回一些结果。我需要返回两条关于员工的信息,Employee# 和 EmployeeName。 我试过了 SELECT Employee#, EmployeeNa
我有一个网页,我正在尝试打印它。我正在使用引导导航栏。问题是,当我使用 bootstarp 导航栏时,打印预览没有任何意义。我在页面中看到了代码行而不是实际内容。只有当我将引用添加到 bootstra
我用 16 位值加载两个 SSE 128 位寄存器。这些值按以下顺序排列: src[0] = [E_3, O_3, E_2, O_2, E_1, O_1, E_0, O_0] src[1] = [E_
我需要做的是:原始状态: 洗牌后: 第一个 div 中的 Divs 留在那里但会被打乱,同样的情况也会发生在具有相同类的第二个 div 中。要在特定的 div
我有一个列表: milk butter eggs orange juice bananas 如何使用 javascript 随机重新排序列表项? 最佳答案
我有一个大小为 n 的 NSMutableArray urlArray,我想从数组中的元素总数中随机选择其中的 4 个 URL。 但是我不想直接打乱 urlArray,我更喜欢制作一个“indexAr
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
首先,我的母语不是英语,所以请原谅我的一些错误。 我想对 ArrayList 进行洗牌(没问题),但是洗牌后列表必须满足某些条件。我的第一个方法是创建 if 语句,并在每次为 true 时进行洗牌。但
我想打乱 __m256i vector 的元素。并且有一个内在的 _mm256_shuffle_epi8 做类似的事情,但它不执行跨车道洗牌。 如何使用 AVX2 指令来实现? 最佳答案 有一种方法可
有谁知道改变现有 NSString 或 NSMutableString 字符顺序的现有方法吗?无论如何,我有一个解决方法,但如果有一个现有的方法,那就太好了。 例如,给定字符串@"HORSE",一个方
我是 Objective-C 新手,通过反复试验来学习!如果这个问题有点幼稚,请原谅我。 我创建了一组图像,需要对它们进行随机播放。我已经使用了这里给出的建议: What's the Best Way
我们有一个网络应用程序,希望向潜在客户演示,但我们最好的方法是使用现有数据,以获得完整的体验。当然,我们不想使用应用程序中可见的实际客户名称或地址等来执行此操作。 SQL Server 中有没有一种简
有一个简单的方法来缩小和/或混淆 JS,它存在于我的 django 模板中? 我还在js中使用模板变量和模板标签,因此,标准的uglifyjs或类似的不符合我最初的要求。 有什么事情要做吗? 最佳答案
我是新用户 ArrayList 。我不明白。 如果我使用int[]作为ArrayList项目有错误: The method put(int) is undefined for the type Arr
是否可以随机打乱 Excel 工作表中行或列中的值。有没有相关的函数/宏?我该怎么做? -广告。 最佳答案 嗯...就像简单的解决方案一样,无需编程。例如,您有一列数据 (A): 23 78 12 7
我想打乱我的数组项。像这样: [1,2,3,4].scramble => [2,1,3,4] [1,2,3,4].scramble => [3,1,2,4] [1,2,3,4].scramble =>
我目前正在为 Android 开发内容创建应用程序。它的主要目的是让用户生成一个包含文本和图像条目的列表(最后由 EditText 和 ImageView 表示)。 我通过使用 ViewHolder
我是一名优秀的程序员,十分优秀!