私は解決するべき独特の問題が少しあり、私は立ち往生しています。ユーザーからの数字(整数)のユーザー入力からJavaリストを作成
- 入力2つのシリーズ:
は、私は、次の処理を行い、プログラムを設計する必要があります。
- 各系列に基づいて2つのリストを作成します。
- 各リストの長さは、各シリーズの最初の桁の値で決定する必要があります。
- 各一連の数字の残りの数字がリストの内容になります。
ここで私が立ち往生しているのは、リストの長さを決定するためにシリーズの最初の番号を分離しようとすることです。
私は解決するべき独特の問題が少しあり、私は立ち往生しています。ユーザーからの数字(整数)のユーザー入力からJavaリストを作成
は、私は、次の処理を行い、プログラムを設計する必要があります。
ここで私が立ち往生しているのは、リストの長さを決定するためにシリーズの最初の番号を分離しようとすることです。
私はここで何か試したので、これがあなたが探しているものかどうか教えてください。まず、あなたの試行を提供する方が良いでしょう。
また、リストは大部分が動的であることを指摘したいと思います。あなたは普通の配列のようなそれらのサイズについて心配する必要はありません。
Scanner sc = new Scanner(System.in);
ArrayList<Integer[]> addIt = new ArrayList<>();
boolean choice = false;
while(choice == false){
String line = sc.nextLine();
if(line.equalsIgnoreCase("n")){
break;
}
else{
String[] splitArr = line.split("\\s+");
Integer[] convertedArr = new Integer[splitArr.length];
for(int i = 0; i < convertedArr.length; i++){
convertedArr[i] = Integer.parseInt(splitArr[i]);
}
addIt.add(convertedArr);
}
}
これは、各整数を空白で区切っていることを前提としています。番号を別のもので区切っている場合は、split
ステートメントを変更してください。
ユーザが終了するには「n」と入力します。このコードスニペットを使用すると、Integerオブジェクトの各配列をマスターArrayListに格納できます。それで、あなたはデータで何でもすることができます。各Integerオブジェクト配列の最初の要素にアクセスして長さを取得できます。この値を分離する方法を混乱させたので、上記のスニペットがそれを行います。
また、try-catchブロックにparse文を追加して、整数に解析できない無効な入力に対してエラー処理を提供することをお勧めします。
これは、デフォルトの配列で行う方法の1つです。
import java.util.Scanner;
public class ScanList {
public static void main(String[] args){
System.out.println("Array:");
Scanner s = new Scanner(System.in);
String line = s.nextLine();
String[] nums = line.split(",");
int[] result = new int[Integer.parseInt(nums[0])];
for(int i = 0; i<result.length;i++){
result[i]=Integer.parseInt(nums[i+1]);
}
for(int r:result){
System.out.println(r);
}
}
}
これは私が思いついたものです:私達にあなたのコードを表示
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Insert the first series of numbers: ");
String number1 = input.nextLine();
System.out.println("Insert the second series of numbers: ");
String number2 = input.nextLine();
String[] items = number1.split(" ");
String[] items2 = number2.split (" ");
List<String> itemList = new ArrayList<String>(Arrays.asList(items));
itemList.remove(0);
Collections.sort(itemList);
System.out.println(itemList);
} // End of main method
。 – bcsb1001
コードチェンジを行った場合は、コードの試行を表示してください。 –
"3.各リストの長さは、各シリーズの最初の桁の値で決める必要があります。最初の数字、または最初の数字を意味しますか?典型的な入力の例を示します。 – FredK