Bitten Sie den Benutzer zur Eingabe der Anzahl von Elementen in ein array
Ich bin wirklich neu auf Java, und ich habe einige Schwierigkeiten mit den Grundlagen von arrays. Etwas Hilfe wäre sehr geschätzt :).
Ich ein Programm erstellt, dass der Benutzer gefragt wird, geben Sie die Werte in ein array. Das Programm zeigt dem Benutzer, wie viele Elemente das array, das sogar zahlen, die im array sind, die ungeraden zahlen im array, und der Mittelwert aller zahlen im array.
Mein problem ist Folgendes: Zur Zeit mein Programm hat eine festgelegte Anzahl von Werten in das array 5 Elemente. Ich möchte dies ändern, so dass der Benutzer bestimmen kann, die Menge der Gegenstände, die Sie wollen in das array, und bitten Sie den Benutzer, kontinuierlich fügen Sie Werte in das array, bis Sie geben Sie 'Q' zum beenden der Eingabe von Werten, so dass das Programm fortgesetzt werden kann.
Ich will nicht ändern mein code, nur der Teil, wo der Benutzer legt die Anzahl der Elemente im array.
Dies ist mein code:
//main class
public class Even_number_array {
public static void main(String[] args) {
array_class obj=new array_class();
obj.get_numbers();
obj.set_arraylist();
obj.set_numbers();
obj.get_average_of_array();
}
}
//another class
import java.util.Scanner;
public class array_class {
private int[] arr=new int[5]; //here is where I would like to modify my code so
//that the user can determine amount of items in array
Scanner keyboard=new Scanner(System.in);
public int[] get_numbers() //asks user to add items to array
{
System.out.println("Please enter numbers for array :");
for (int i=0; i<this.arr.length; i++)
{
this.arr[i] = keyboard.nextInt();
}
System.out.println("There are "+((arr.length))+ " numbers in array");
return this.arr;
}
public void set_numbers() //Tells user what even & odd numbers are in array
{
System.out.println();
System.out.println("These even numbers were found in the array:");
for (int i=0; i<arr.length;i++)
{
if (arr[i]%2==0)
{
System.out.print(arr[i]+" ");
System.out.println();
}
}
System.out.println("These odd numbers were found in the array:");
for (int i=0; i<arr.length;i++)
{
if ((arr[i]%2)!=0)
{
System.out.print(arr[i]+" ");
}
}
}
public void set_arraylist() //Dispalys all items in array
{
System.out.println("These are the numbers currently in your array: ");
for (int i=0; i<arr.length; i++ )
{
System.out.print(this.arr[i]+ " ");
}
}
public double get_average_of_array() //Gets average of all items in array
{
double sum=0;
double average=0;
System.out.println();
System.out.println("the average is: ");
for (int i=0; i<this.arr.length; i++)
{
sum=sum+arr[i];
average =sum/arr.length;
}
System.out.println(average);
return average;
}
}
Jede Hilfe wäre toll!
- Nachschlagen
ArrayList
- Sie können nicht dynamisch ändern Sie die Größe eines Arrays. Erstellen Sie ein neues array, jedes mal wenn Sie wollen, um die Größe zu ändern. Verwenden ArrayList.
- Ich möchte das ändern dieser Teil von meinem code vollständig, so dass der Benutzer in der Lage sein, um zu bestimmen, die Größe des Arrays, gibt es keine Möglichkeit, dies zu tun?
- Ich habe versucht, vielen Dank für die Hilfe 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Sorry, ich weiß nicht wirklich, was Sie Fragen, aber vielleicht meinst du dies
Sorry ich bin ziemlich schlecht in java nur lernen, es für 2 Monate jetzt
ArrayList
ist das Objekt, das Sie möchten. Es hat Funktionen, mit denen Sie Anhängen von Werten an das Ende. Es ist ein dynamisches array in dem Sinne, dass Sie können mutieren auf werden.Mit einem ArrayList anstelle von arrays wäre der einfachste Weg, um zu erreichen, genau das, was Sie zu tun versuchen.
Weitere option ist zu Fragen, wie viele zahlen die person, die Pläne auf die Eingabe von Anfang an.
Wenn, aus irgendeinem seltsamen Grund, Sie sind nur versuchen, Verwendung von arrays, ohne den Benutzer zu Fragen, wie viele zahlen wollen Sie eingeben,... eine Dritte Möglichkeit wäre das erstellen eines neuen array - (als eine Größe größer als das Vorherige array) jedes mal, wenn der Benutzer eine andere Zahl.
Einige Leitlinien für das Letzte Stück...
Wenn Sie möchten, dass der Benutzer bestimmen, wie viele Elemente im array sind, fügen Sie diese in Ihren code ein:
Jedoch, werden Sie nicht in der Lage, fügen Sie weitere Elemente, um das array als die benutzerdefinierte ohne eine
ArrayIndexOutOfBoundsException
, so dass es einen besseren Weg, dies zu tun, verwendet einen so genanntenArrayList
. Mit einemArrayList
Sie nicht haben, um sorgen über die Einstellung der Größe des Arrays vor der Verwendung; es erweitert sich automatisch, wenn neue Elemente Hinzugefügt werden, es sei denn, Sie explizit festlegen, eine Größe für Sie. EinArrayList
können von einem beliebigen Objekt, sondern machen es nur für Ganzzahlen deklarieren Sie es wie folgt:Hinzufügen von Elementen zu den
ArrayList
:Lesen einen Wert durch seinen index:
Um den index eines Elements:
Es ist viel mehr, dass Sie tun können, mit einem
ArrayList
. Lesen Sie mehr über es hier.ArrayList<Integer> arr = new ArrayList();
wird eine Warnung generieren, "Der Ausdruck vom Typ ArrayList muss deaktiviert die Konvertierung zu entsprechen, ArrayList<Integer>" ... verwendenArrayList<Integer> arr = new ArrayList<Integer>();
oder die Java-7 "diamond operator"ArrayList<Integer> arr = new ArrayList<>();
Integer
auf beiden Seiten ist es überflüssig.