Javaは、複数の整数入力形式(スペース、改行など)を実装し、すべての入力整数を整数配列に入れます。

プログラムを作成するとき、整数入力形式で問題が発生することがよくあります。
たとえば、「最初の行は、行列の数を表す整数n(1≤n≤26)です。次に、n行あります。各行の先頭は大文字で、matrix.nameの後に、行列の行と列の数を表す2つの整数が続きます。"など。

  1. このような問題が発生した場合は、最初に文字列文字列を定義し、定義された文字列に入力を入れることができます
    String str=scanner.nextLine();

  2. 次に、文字列文字列を文字列配列に変換し、splitメソッドを呼び出して、整数以外の要素を削除します。
    String[] temp= str.split(" ");

  3. 整数の配列を定義する
    int[] number=new int[temp.length];

  4. ループを使用して、型変換を使用して文字列配列の各要素を整数配列に変換します

 for(int i=0;i<number.length;i++)
		{
    
    
			number[i]=Integer.parseInt(temp[i]);
		}

このようにして、整数の任意の入力フォーマットを実現できるだけでなく、ステップ3および4の配列タイプを置き換える限り、他のタイプの配列の異なる入力フォーマットも実現できます。
テスト結果は次のとおりです。
ここに画像の説明を挿入
最初に示した例を実装するには、データクラスを定義する必要があります。完全なコードは次のとおりです。

import java.util.Scanner;
public class MatrixMultiply {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner=new Scanner(System.in);
        String NumberS=scanner.nextLine();
        int Number=Integer.parseInt(NumberS);
        data[] dateTemp=new data[Number];
        for(int i=0;i<Number;i++){
    
    
            dateTemp[i]=new data();
            String temp=scanner.nextLine();
            String[] tempArr= temp.split(" ");
            dateTemp[i].setName(tempArr[0]);
            dateTemp[i].setRows(Integer.parseInt(tempArr[1]));
            dateTemp[i].setColumn(Integer.parseInt(tempArr[2]));
        }
        //输出测试
        for(int i=0;i<Number;i++){
    
    
            System.out.println(dateTemp[i]);
        }
}
class data{
    
    
    private String Name;
    private int Rows;
    private int Column;

    public String getName() {
    
    
        return Name;
    }

    public void setName(String name) {
    
    
        Name = name;
    }

    public int getRows() {
    
    
        return Rows;
    }

    public void setRows(int rows) {
    
    
        Rows = rows;
    }

    public int getColumn() {
    
    
        return Column;
    }

    public void setColumn(int column) {
    
    
        Column = column;
    }

    public String toString(){
    
    
        return this.getName()+" "+this.getRows()+" "+this.getColumn();
    }
}

テスト結果は次のとおりです。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_55887872/article/details/121073935