java - 使用扫描仪输入时如何写出表格?
问题描述
我编写了代码来制作一个包含随机列和行的表格,对于表格中的每个位置,程序要求用户写里面的内容。对于输入,我使用了扫描仪。我的问题是,我如何打印出带有用户输入的表格?你能解释一下它是如何完成的,为什么?谢谢
public static void main(String[] args) {
int row = (int)(Math.random() * 5 + 1);
int column =(int)(Math.random() * 5 + 1);
String[][] table = new String [row][column];
Scanner read = new Scanner(System.in);
//String word = "";
for(int i = 0; i < table.length; i++) {
for(int j = 0; j < table[i].length; j++) {
System.out.print("Write a name of a fruit: ");
String word = read.next();
解决方案
您需要先获取用户输入并将它们存储在您的表中
将您的代码更改为:
for (int i = 0; i < table.length; i++) {
for (int j = 0; j < table[i].length; j++) {
System.out.print("Write a name of a fruit: ");
String word = read.nextLine();
table[i][j] = word;
}
}
在此之后,如果您希望以表格格式打印给定水果名称的用户,您应该添加以下代码
for (int i = 0; i < table.length; i++) {
for (int j = 0; j < table[i].length; j++) {
System.out.print(" | " + table[i][j]);
}
System.out.print(" |");
System.out.println();
}
我们在这里所做的是循环遍历每一行的列。当我们到达列的末尾时,我们打印一个新行,以便下一行打印在一个新行中。我添加了|
(管道)以显示每列之间的边界。
对于 2X2 表,输出将如下所示:
| Mango | Raspberry |
| Strawberry | Apple |
注意:您也可以使用初始的 for 循环来显示值。但我选择创建另一组循环以便清楚地理解。
推荐阅读
- sql - 将 varchar 转换为无毫秒的日期时间
- javascript - 如何获取进度条的div元素的点击位置
- python - 显示气泡频率或重量的 Python 气泡图(我没有 az 向量)?
- windows - 我应该使用哪种类型的证书对 Windows 桌面应用程序进行代码签名?
- c# - HTTP 错误 500.31 - 无法加载 ASP.NET Core 运行时
- python - Python列出文件/目录而不更新上次访问时间?
- java - 如何在 JSP 中加载图像
- python - 使用 datetime timedelta 函数
- python - Python如何在函数中使用指针
- android - onTap 事件中的数据颤动