java如何将整行元素输入2d数组
我正在试验数组,虽然我可以根据用户输入确定如何输入2d数组的元素,但我无法确定如何提示用户单独输入2d数组的整行(每个数字之间有一个空格),而不是输入每个数字,然后按enter键。我能在这里得到一些帮助吗?我知道这将是我的下一次测试,谢谢大家
这是我的密码:
import java.util.Scanner;
public class NewArray
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter the number of rows: ");
int Rows = input.nextInt();
System.out.print("Enter the number of columns: ");
int Columns = input.nextInt();
int[][] array = new int[Rows][Columns];
System.out.println("Enter the numbers in array: ");
for (int i = 0; i < array.length; i++)
{
for (int j = 0; j < array[i].length; j++)
array[i][j] = input.nextInt();
}
System.out.println(isConsecutiveFour(array));
}
# 1 楼答案
嗯,你可以在每一行提示他们
输出
# 2 楼答案
您还可以将每一行作为输入,然后使用分隔符逐个字符地输入。 e、 g
或者你可以
数组[i][j]=s.charAt(j)-'0'
# 3 楼答案
循环
rows
次,和String l = input.nextLine();
使用分隔符(可以定义空格、逗号或分号)拆分字符串
当然,要实现验证逻辑。e、 g Nan情况下,拆分的数组大小与
columns
情况等不匹配顺便说一句,基于java命名约定,最好使用
rows
、columns
作为名称。否则,它们看起来就像班级# 4 楼答案
一种方法是将他们键入的内容作为一整行输入。然后,您查看该行并检查是否有足够的值,如果它们没有按您的方式输入,则会以某种方式失败
问题是,这让用户非常恼火。如果它需要10个数字,而他们输入9或11是因为一个错误的计数或一个额外的空格,其中一个周期应该是?你打算怎么办
这在很大程度上取决于你的程序如何响应用户不“正确”的操作
因此,如果他们输入的数字太多,您可以回显第一个数字(直到所需的数字),并询问是否可以只使用这些数字。然后回答Y或N
如果他们输入的数字太少,您可以回显他们输入的数字,然后要求更多的数字来填写所需的计数
所有这些都变成了大量的代码需要编写,而且可能很挑剔——您必须正确地编写,否则会让用户感到困惑
另一个可能的解决方案是让他们一个接一个地输入信息,然后您向他们回显信息,以便他们知道自己在哪里。类似于“请在第3行输入元素4:”的内容将帮助他们跟踪它
也许你对这方面研究得越多,你就越能看到当今通用用户界面的价值,无论是对于独立应用程序还是web应用程序。例如,在web上,您可以向他们显示一个包含文本框行和列的表单,如果某些框没有正确填写,您可以轻松地重新显示该页面。基于控制台的用户界面在很多年前就已经被使用了,但是它还有很多需要改进的地方