前提・実現したいこと
ランダムな整数を5つインプットさせ、その番号を大きい順に並べ替えるプログラムです。
模範解答は、配列をつかっているのですが、これをArrayListを使って書きかえるのが目標です。
ArrayListを引数としてメソッドにいれているのですが、その部分がエラーになっています。
ウェブサイトなどをみてArrayListを引数にいれているコードをみたのですが、同じように使っていると思います。
発生している問題・エラーメッセージ
MacBook:src tomifukumoto$ javac Array.java
Array.java:21: エラー: <identifier>がありません
public static void printArrayList(ArrayList<Integer>, array){
^
Array.java:21: エラー: <identifier>がありません
public static void printArrayList(ArrayList<Integer>, array){
^
Array.java:26: エラー: <identifier>がありません
public static ArrayList<Integer> sortIntegers(ArrayList<Integer>, array){
^
Array.java:26: エラー: <identifier>がありません
public static ArrayList<Integer> sortIntegers(ArrayList<Integer>, array){
^
エラー4個
#[自分コード]
java
1import java.util.ArrayList; 2import java.util.Scanner; 3 4public class Main { 5Scanner scanner = new Scanner(System.in); 6 public static void main(String[] args) { 7 ArrayList<Integer> numbers= getIntegers(5); 8 ArrayList<Integer> sorted=sortIntegers(numbers); 9 printArrayList(sorted); 10 } 11 12 public static ArrayList<Integer> getIntegers(int capacity){ 13 ArrayList<Integer> numbers= new ArrayList<>(); 14 system.out.println("Type in" + capacity + "numbers" ); 15 for(int i=0; i<capacity-1 ; i++){ 16 numbers.set(i)=scanner.nextInt(); 17 } 18 return numbers; 19 } 20 21 public static void printArrayList(ArrayList<Integer>, array){ 22 for(int i=0; i<=array.size(); i++){ 23 System.out.println(array.get(i)); 24 } 25 } 26 public static ArrayList<Integer> sortIntegers(ArrayList<Integer>, array){ 27 ArrayList<Integer> copyNumbers=new ArrayList<Integer>(array); 28 //ディープコピーをした。 29 boolean flag=true; 30 int temp; 31 while(flag){ 32 flag=false; 33 for(i=0; i<=copyNumbers.size(); i++){ 34 if(copyNumbers.get(i)<copyNumbers.get(i+1)){ 35 temp=copyNumbers.get(i); 36 copyNumbers.set(i)=copyNumbers.set(i+1); 37 copyNumbers.set(i+1)=temp; 38 flag=true; 39 } 40 } 41 } 42 return copyNumbers; 43 } 44} 45
#模範回答コード
java
1package com.timbuchalka; 2 3import java.util.Arrays; 4import java.util.Scanner; 5 6public class Main { 7 private static Scanner scanner = new Scanner(System.in); 8 9 public static void main(String[] args) { 10 // Create a program using arrays that sorts a list of integers in descending order. 11 // Descending order is highest value to lowest. 12 // In other words if the array had the values in it 106, 26, 81, 5, 15 your program should 13 // ultimately have an array with 106,81,26, 15, 5 in it. 14 // Set up the program so that the numbers to sort are read in from the keyboard. 15 // Implement the following methods - getIntegers, printArray, and sortIntegers 16 // getIntegers returns an array of entered integers from keyboard 17 // printArray prints out the contents of the array 18 // and sortIntegers should sort the array and return a new array containing the sorted numbers 19 // you will have to figure out how to copy the array elements from the passed array into a new 20 // array and sort them and return the new sorted array. 21 22 int[] myIntegers = getIntegers(5); 23 int[] sorted = sortIntegers(myIntegers); 24 printArray(sorted); 25 26 } 27 28 public static int[] getIntegers(int capacity) { 29 int[] array = new int[capacity]; 30 System.out.println("Enter " + capacity +" integer values:\r"); 31 for(int i=0; i<array.length; i++) { 32 array[i] = scanner.nextInt(); 33 } 34 return array; 35 } 36 37 public static void printArray(int[] array) { 38 for(int i=0; i<array.length; i++) { 39 System.out.println("Element " + i + " contents " + array[i]); 40 } 41 } 42 43 public static int[] sortIntegers(int[] array) { 44// int[] sortedArray = new int[array.length]; 45// for(int i=0; i<array.length; i++) { 46// sortedArray[i] = array[i]; 47// } 48 int[] sortedArray = Arrays.copyOf(array, array.length); 49 50 boolean flag = true; 51 int temp; 52 while(flag) { 53 flag = false; 54 // element 0 160 55 // element 1 50 56 // element 2 40 57 58 for(int i=0; i<sortedArray.length-1; i++) { 59 if(sortedArray[i] < sortedArray[i+1]) { 60 temp = sortedArray[i]; 61 sortedArray[i] = sortedArray[i+1]; 62 sortedArray[i+1] = temp; 63 flag = true; 64 } 65 } 66 } 67 68 return sortedArray; 69 } 70}
試したこと
arraylistを引数としてメソッドに組み込むところでエラーになっているようなので、arraylistをメソッドにいれているコードを閲覧してみました。
同じような組み込み方で組み込んでいました。
回答1件
あなたの回答
tips
プレビュー