题目:求一个数组的各行的和,各列的和,两个对角数的和,并求min,max的值。
想改为:
在输入16个数时,两数之间只用空格隔开写成一行,而不用“enter”键把它们隔开,输完之后就再按“enter”就可以输出结果,如何改?谢谢.import java.io.*;
public class shuzu
{
public static void main(String args[])
{
int[][] array=new int[4][4];
int[] HangHe=new int[4];
int[] LieHe=new int[4];
int[] DuiJiaoHe=new int[2];
int max,min;
String s="";
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
s=" ";
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
s=br.readLine();
//while(!(s=br.readLine()).equals("-1"))
{array[i][j]=Integer.parseInt(s);}
}catch(IOException e){}
}
}
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
int k=i;
HangHe[k]=HangHe[k]+array[i][j];
}
}
for(int j=0;j<4;j++)
{
for(int i=0;i<4;i++)
{
LieHe[j]=LieHe[j]+array[i][j];
}
}
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(i==j) DuiJiaoHe[0]=DuiJiaoHe[0]+array[i][j];
if(i+j==3) DuiJiaoHe[1]=DuiJiaoHe[1]+array[i][j];
}
}
max=array[0][0];
min=array[0][0];
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(max<array[i][j]) max=array[i][j];
if(min>array[i][j]) min=array[i][j];
}
}
for(int p=0;p<4;p++)
{
System.out.print(HangHe[p]+" ");
}
System.out.println();
for(int k=0;k<4;k++)
{
System.out.print(LieHe[k]+" ");
}
System.out.println();
for(int m=0;m<2;m++)
{
System.out.print(DuiJiaoHe[m]+" ");
}
System.out.println();
System.out.println("max="+max+";min="+min);
}
}
想改为:
在输入16个数时,两数之间只用空格隔开写成一行,而不用“enter”键把它们隔开,输完之后就再按“enter”就可以输出结果,如何改?谢谢.import java.io.*;
public class shuzu
{
public static void main(String args[])
{
int[][] array=new int[4][4];
int[] HangHe=new int[4];
int[] LieHe=new int[4];
int[] DuiJiaoHe=new int[2];
int max,min;
String s="";
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
s=" ";
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
s=br.readLine();
//while(!(s=br.readLine()).equals("-1"))
{array[i][j]=Integer.parseInt(s);}
}catch(IOException e){}
}
}
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
int k=i;
HangHe[k]=HangHe[k]+array[i][j];
}
}
for(int j=0;j<4;j++)
{
for(int i=0;i<4;i++)
{
LieHe[j]=LieHe[j]+array[i][j];
}
}
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(i==j) DuiJiaoHe[0]=DuiJiaoHe[0]+array[i][j];
if(i+j==3) DuiJiaoHe[1]=DuiJiaoHe[1]+array[i][j];
}
}
max=array[0][0];
min=array[0][0];
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
if(max<array[i][j]) max=array[i][j];
if(min>array[i][j]) min=array[i][j];
}
}
for(int p=0;p<4;p++)
{
System.out.print(HangHe[p]+" ");
}
System.out.println();
for(int k=0;k<4;k++)
{
System.out.print(LieHe[k]+" ");
}
System.out.println();
for(int m=0;m<2;m++)
{
System.out.print(DuiJiaoHe[m]+" ");
}
System.out.println();
System.out.println("max="+max+";min="+min);
}
}
public class ArrayDemo {
private int size;
private int[][] nums;
private int min,max;
public ArrayDemo(int size,int[]num){
this.size = size;
nums = new int[size][size]; for(int i=0; i<size; i++){
for(int j=0; j<size; j++){
nums[i][j] = num[i*size+j];
}
}
}
public void rowSum(){
for(int i=0; i<size; i++){
int sum = 0;
for(int j=0; j<size; j++){
sum += nums[i][j];
}
System.out.println("row["+i+"]: "+sum);
}
}
public void lineSum(){
for(int j=0; j<size; j++){
int sum=0;
for(int i=0; i<size; i++){
sum += nums[i][j];
}
System.out.println("line["+j+"]: "+sum);
}
}
public void cornerSum(){
int sum1=0;
int sum2=0;
for(int i=0; i<size; i++){
sum1+=nums[i][i];
sum2+=nums[i][size-i-1];
}
System.out.println("corner sum: "+sum1+"\t"+sum2);
}
public static void main(String args[]){
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int size=0;
String[]numStr;
int[]nums=null;
System.out.print("the size of matrix: ");
while(true){
try{
String tmp = br.readLine().trim();
size = Integer.parseInt(tmp);
nums = new int[size*size];
break;
}catch(Exception e){
System.out.println("size error,input again:");
}
}
System.out.print("input the nums in one line:");
while(true){
try{
String tmp = br.readLine().trim();
numStr = tmp.split(" +");
if(numStr.length>=size*size){
for(int i=0; i<size*size; i++){
nums[i] = Integer.parseInt(numStr[i]);
}
break;
}
else
System.out.println("numbers not enough,input again: ");
}catch(Exception e){
System.out.println("numbers error,input again: ");
}
}
//-------------------
new ArrayDemo(size,nums).rowSum();
}
}