‘壹’ java 键盘输入二维数组
输完六个数字后加一个符号,比如 “@”
在java判断输入 @的时候,停止录入。
--------------------
import java.util.*;
public class InputDemo {
public static void main(String[] args) {
int x;
int y;
Scanner reader = new Scanner(System.in);
System.out.print("请输入二维数组的行数x:");
x = reader.nextInt();
System.out.print("请输入二维数组的列数y:");
y = reader.nextInt();
int[][] n = new int[x][y];
int[] arr = new int[x*y];
int count = 0;
while(reader.hasNextInt()){
arr[count] = reader.nextInt();
count++;
if(count == x*y)
break;
}
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
n[i][j] = arr[3*i+j];
}
}
System.out.println("您输入的数组为:");
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
System.out.print(n[i][j] + "\t");
}
System.out.println();
}
}
}
‘贰’ java 中任意输入一个二维数组,然后再以矩阵的形式输出此数组。
import java.util.Scanner;
public class Main1 {
public static void main(String ars[]){
Scanner s=new Scanner(System.in);
System.out.println("请输入数组行数和列数");
int x=s.nextInt();
int y=s.nextInt();
int [][]awarry=new int[x][y];//初始化数组
System.out.println("请输入数组元素");
for(int i=0;i<x;i++)//循环输入
for(int j=0;j<y;j++)
awarry[i][j]=s.nextInt();
System.out.println("你输入的数组为");
for(int i=0;i<x;i++){//循环输出
for(int j=0;j<y;j++)
System.out.print(awarry[i][j]+"\t");
System.out.println();
}
}
}
运行示例:
请输入数组行数和列数
2 3
请输入数组元素
1 2 3 4 5 6
你输入的数组为
1 2 3
4 5 6
‘叁’ Java如何输入二维矩阵并存储到二维数组中
最不严谨的写法(但是可用)下列方法可以不需知道二维数组的宽度和长度,但是不能直接保存,而是输入完成之后才能保存,如果需要更完善的方法,则先输入宽度与长度,然后再输入字符,可实现:
publicstaticvoidmain(String[]args)throwsException{
Scannerscanner=newScanner(System.in);
ArrayList<String>list=newArrayList<>();
intmaxCol=0;
while(true){
Stringline=scanner.nextLine();
if(line.equals(""))
break;
intl=line.length();
if(maxCol<l){
maxCol=l;
}
list.add(line);
}
scanner.close();
char[][]chars=newchar[list.size()][maxCol];
inti=0;
for(Stringline:list){
chars[i++]=line.toCharArray();
}
System.out.println("Printyourinput:");
for(char[]aChar:chars){
System.out.println(newString(aChar));
}
}
输入:
***@*
*@@*@
*@**@
@@@*@
@@**@
@@@@@
如果想结束,最后一行,输入一个空格" ",然后回车结束。
‘肆’ java怎么输出二维数组
System.out.print是不换行的。
用
System.out.println
‘伍’ java二维数组输出
publicstaticvoidmain(String[]args){
String[][]arr=newString[15][15];
/**
*给数组赋值
*/
for(inti=0;i<15;i++){
for(intj=0;j<15;j++){
arr[i][j]="+";
}
}
/**
*输出数组内的所有元素
*/
for(inti=0;i<15;i++){
for(intj=0;j<15;j++){
System.out.print(arr[i][j]);
}
System.out.println(" ");
}
}
‘陆’ Java二维数组如何使用
二维数组,也可以理解为用一维数组保存的元素为一维数组。对于三维数组,等等,都可以这样划分。不过我们在编程中使用三维以上的数组比较少。因为那样使用起来非常不方便。下面我们来学习二维数组的声明。其声明同一位数组一样,可以先声明再分配内存,也可以声明时分配内存。
二维数组的声明及内存分配
第一种,先声明再分配内存的方式
数组声明: 数据类型 数组名[][];
内存分配: 数组名 = new 数据类型[行的个数][列的个数];
举例: 假如我们需要统计一个象棋上放的是黑棋还是白棋。这时,我们可以建立一个坐标,即以象棋盘的两边建立坐标轴。这时,我们可以这样定义这个二维数组:
声明数组: int Chess[][];
内存分配 Chess= new int[64][64];
第二种,即声明时即分配内存的方式。
使用格式是: 数据类型 数组名[][] =new 数据类型 [行的个数][列的个数];
使用上个步骤中的例子,我们可以将数组的声明和分配内存写成以下方式:
声明即分配内存:int Chess[][] = new int[64][64];
二维数组的赋值
二维数组的赋值,同一维数组类似。只是在{}中的每个元素又是每个一维数组。如下格式:
数据类型 数据名[][]={
{值1,值2,值3,值4 }, //第一行数据
{值5,值6,值7,值8}, //第二行数据
...,
}
二维数组中,可以有列数不相等的数组。即每一行的列数不同时。我们需要对每一行进行赋值。
对于这两种二维数组。我们分别来进行分别举例进行赋值。第一种是:列数相同的数组
其赋值格式如下:
String ClassRoom[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
}
即第一行的人数和第二行的人数相同。
第二种:即列数不相等的数组的赋值格式如下:
String ClassRoom[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
{"小雨","小风","小平","小雷"},
{"小单"}
}
看上述例子。对于不同的行,其相应的列数是不同的。
二维数组元素的输入输出
二维数组元元素的访问及输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即双重循环来输出二维数组中的每一个元素。下面,我们来展示一个例子,把上面学过的知识来一块使用。这里使用列数不相等的二维数组:
例子是输出二维数组中的每一行的数字。
‘柒’ 初学者请问:用JAVA怎么写二维数组的输入
importjava.util.Scanner;
classTest{
publicstaticint[][]a=newint[20][20];
publicstaticvoidmain(String[]args){
Scannerin=newScanner(System.in);
System.out.println("Inputmandn:");
intm=in.nextInt();//行数
intn=in.nextInt();//列数
for(inti=0;i<m;i++){
for(intj=0;j<n;j++){
a[i][j]=in.nextInt();
}
}
System.out.println("Output:");
for(inti=0;i<m;i++){
for(intj=0;j<n;j++){
System.out.print(a[i][j]+"");
}
System.out.println();
}
}
}
运行结果:
‘捌’ java二维数组输入数据,报错
//内层循环的入口条件错了
for(inti=0;i<3;i++){
//↓这里是j,当j==2(true)时,执行j++为3,就数组越界了
for(intj=0;i<3;j++){
a[i][j]=n;
n++;
System.out.println(a[i][j]);
}
}
希望能帮助你
‘玖’ java 键盘输入二维数组
package ex1;
import java.util.Scanner;
import java.util.*;
public class szsr {
/**
* 声明二维数组并对二维数组赋值
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int num1;
int num2;
System.out.print("请输入二维数组的长度:");
num1=input.nextInt();
System.out.print("请输入二维数组的宽度:");
num2=input.nextInt();
int[][]num=new int[num1][num2];
for(int i=0;i<num1;i++){
for(int j=0;j<num2;j++){
System.out.print("二维数组中的第"+(i*num2+(1+j))+"个元素为:");
num[i][j]=input.nextInt();
}
}
for(int i=0;i<num1;i++)
for(int j=0;j<num2;j++){
System.out.print(num[i][j]+"\n");
}
}
}
‘拾’ java 二维数组的输出
二维数组的话,需要循环两分别读取
代码如下:
public static void main(String[] args) {
int[][] a = new int[3][4];
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]);
}
System.out.println();
}
}
运行结果如下:
0000
0000
0000
备注:上面输出0的原因是只创建了实例没有赋值,int类型的默认值是0,所以才有以上结果的。