java代码生成舒尔特方格
舒尔特表介绍
“舒尔特表”训练就是国际通行的其中一种最常见和最有效的人的视觉定向搜索训练科目。心理学上运用这种表,一般是为了研究和发展心理感知的速度,其中包括视觉定向搜索运动的速度。
舒尔特表作用
- 舒尔特表可以通过动态的练习锻炼视神经末梢。心理学上用此表来研究和发展心理感知的速度,其中包括视觉定向搜索运动的速度。
- 培养注意力集中、分配、控制能力;拓展视幅;加快视频;提高视觉的稳定性、辨别力、定向搜索能力。
- 练习的时间越长,看表所需的时间会越短。随着练习的深入,眼球的末梢视觉能力提高,不仅初学者可以有效地拓展视幅,加快阅读节奏,锻炼眼睛快速认读;而且对于进入提高阶段之后,同时拓展纵横视幅,达到一目十行、一目一页非常有效。
- 训练应用中,找寻数字的过程对于训练者的视线搜索能力、视觉广度有很强的提高作用,这方面可以直接应用到快速阅读方面.
- 在思维导图训练当中可以通过这样的快速视觉搜索让使用者迅速找出材料当中的关键词和关键内容,这其中又有对于注意力的选择、分配和转移方面的训练和提升。
- 增加注意力的分配。当执行一个明确的工作任务时,例如要求从1按顺序一直找到25这个简单的舒尔特表任务,在搜索一个数字n的同时,眼睛会同时关注其他的一个或几个数字,并将其大概位置输入值短时记忆系统,头脑中还需要为n+1这个数字,甚至为n+2、n+3的数字搜索任务进行注意力的分配,找到数字n后还需要立即进行注意力的转移,重新确定下一个搜索任务。随着搜索数字数量的升级,搜索每一数字所花费时间将逐渐增加,在维持高度注意力的同时,训练练习者的注意力的稳定性和持久性。
我们可以由此看到,在这个简单的舒尔特表中,已经集成了对于注意力的稳定性(持久性)、广度、深度(集中能力)以及分配(任务和时间)和转移等几个方面的训练。而在实践中我们通常建议儿童在舒尔特训练中与家长一同游戏,并每次记录时间,增加了竞技性和趣味性,这在解决注意力的唤醒和强化定向反应方面起到了一定的作用,使训练者更愿意积极投入训练。
代码实现
import java.util.*;
/**
* @Auther: xucg
*/
public class Schulte {
static int factorial;
public static void main(String[] args) {
System.out.println("请输入需要创建 ___ 阶方格");
Scanner scanner = new Scanner(System.in);
factorial = scanner.nextInt();
int[][] array = schulte(factorial);
System.out.println();
for (int i = 0; i < factorial; i++) {
for (int j = 0; j < factorial; j++) {
System.out.print("|\t" + array[i][j] + "\t");
}
System.out.print("|");
System.out.println();
}
}
public static int[][] schulte (int factorial){
// 创建存储1-阶乘平方元素的list
List list = new ArrayList();
for (int i = 1; i < factorial*factorial+1; i++) {
list.add(i);
}
// 创建结果数组
int[][] res = new int[factorial][factorial];
for (int i = 0; i < factorial; i++) {
for (int j = 0; j < factorial; j++) {
Random random = new Random();
// a 的范围是[0, list.size() - 1];
// 与list的index范围相同
int a = random.nextInt(list.size());
res[i][j] = (int)list.get(a);
list.remove(a);
}
}
return res;
}
}
说明
- 可指定参数输入生成几阶方格进行训练