george1703 Δημοσ. 26 Νοεμβρίου 2019 Δημοσ. 26 Νοεμβρίου 2019 Κανα ένα πρόγραμμα σε java, το οποίο θέλω να διαβάζει με την StdIn.readAllInts() και να καταχωρεί τους αριθμούς σε έναν συγκεκριμένο πίνακα, στη συνέχεια θέλω να κάνω το ίδιο για έναν δεύτερο πίνακα. int a[]; StdOut.println("Dwste ta stoixeia tou array a"); a = StdIn.readAllInts(); int b[]; StdOut.println("Dwste ta stoixeia tou array b"); b = StdIn.readAllInts(); διαβάζει για τον πρώτο πίνακα και για τον δεύτερο δεν μπαίνει καν. public static int[] readAllInts() { String[] fields = readAllStrings(); int[] vals = new int[fields.length]; for (int i = 0; i < fields.length; i++) vals[i] = Integer.parseInt(fields[i]); return vals; } Τι πρεπει να κανω?
3c0r1z Δημοσ. 26 Νοεμβρίου 2019 Δημοσ. 26 Νοεμβρίου 2019 Από ότι φαίνεται η readAllInts() θα καλείται για να διαβάζει αριθμούς από αρχείο. Η readAllString() δεν φαίνεται να επιστρέφει μέχρι να βρει την ένδειξη EOF. Μια πιθανή λύση είναι να δεσμεύεις αρκετή μνήμη στον πίνακα και μετά να διαβάζεις έναν έναν τους αριθμούς. Και αν δεν ξέρεις εξαρχής μπορείς να αποθηκεύεις την είσοδο του χρήστη σε μια μεταβλητή String και έπειτα να κάνεις την μετατροπή σε αριθμούς για να αποθηκευτούν στον πίνακα σου.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα