Προς το περιεχόμενο

Java FAQ


apoc

Προτεινόμενες αναρτήσεις

Ευχαριστώ για την βοήθεια φίλε μου! Τελικά απο την κονσόλα τα τρέχω κανονικά.

 

Δυστυχώς η απορία μου με την Scanner παραμένει... Ο κώδικας που μου έδωσες δεν διαβάζει δεδομένα. Εγώ αυτό που θέλω είναι να διαβάζω δεδομένα(μια γραμμή συγκεκριμένα) και να την αποθηκεύω σε ένα string. Για παράδειγμα να διαβάζω το εξής: "123 445 465 54 34 -12" και να το αποθηκεύω όλο αυτό σε ένα string.

 

Καμιά ιδέα;:-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 251
  • Δημ.
  • Τελ. απάντηση

Δοκίμασε την nextLine(). π.χ.

>
import java.util.Scanner;
public class Bla1 {
public static void main(String[] args) {
	Scanner keyb = new Scanner(System.in);
	System.out.print("Type line: ");
	String s = keyb.nextLine();

	//testing
	for(int i=0; i<s.length();i++)
		System.out.println(s.charAt(i));
	System.out.println("End of output");
}
}

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τώρα δουλεύει, να 'σαι καλά!:-)

 

Έχω την εξής απορία. Όταν μου δώσει κάποιος την είσοδο πχ "10 20 30 -80" θέλω να πάρω τον κάθε χαρακτήρα και να τον μετατρέψω σε int. Στην περίπτωση μας θέλω να έχω τους αριθμούς 10, 20, 30 και -80. Έχω βρεί τρόπο να κάνω αυτήν την μετατροπή μόνο αν γνωρίζω τον αριθμό των δεδομένων. Στην περίπτωση μας είναι 4 τα δεδομένα. Υπάρχει τρόπος να μετρήσω πόσα είναι τα δεδομένα μέσα σε ένα string ή τουλάχιστον τα κενά διαστήματα; ( Η είσοδος που θα δίνεται θα είναι έγκυρη, δηλαδή θα περιέχει σίγουρα αλφαριθμητικά που μπορούν να μετατραπούν σε αριθμούς)

 

Ευχαριστώ εκτων προτέρων!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 4 εβδομάδες αργότερα...

Μια ερώτηση:

Όταν στην Java έχουμε κλάσεις και υποκλάσεις(σε ένα πρόγραμμα όλα αυτά) με ποιον τρόπο κάνουμε την αποθήκευση?Ας πούμε έχουμε μια κλάση και 3 υποκλάσεις αυτής οι οποίες δηλώνονται με το "extends" όταν κάνουμε το compile και την αποθήκευση με τι όνομα γίνεται?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ξερετε με ποια εντολη στη java μπορουμε να διαβάσουμε στοιχεία ενός pc, οπως πχ, όνομα υπολ., λειτουργικο συστημα, τα προγράμματα που εχει φορτωμένα κ.λ.π.??

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ξερετε με ποια εντολη στη java μπορουμε να διαβάσουμε στοιχεία ενός pc, οπως πχ, όνομα υπολ., λειτουργικο συστημα, τα προγράμματα που εχει φορτωμένα κ.λ.π.??

 

φιλε μου δεν ξερω κατα ποσο αυτο που θα σου πω θα σε βοηθησει αλλα το μονο που μου ερχεται στο μυαλο ειναι η εντολη System.getProperty(key); στην θεση του Key βαζεις ενα property του λειτουργικου που θες να μαθεις. στην περιπτωση σου

os.name = ονομα λειτουργικου

user.name = ονομα χρηστη

οσο για τα προγραμματα μπορεις να διαβασεις το directory program files (πολυ απλη λυση) 'η για κατι πιο προχωρημενο μπορεις να διαβασεις τιμες απο την Registry των Windows.

ολα αυτα σε περιπτωση που μιλαμε για Windows αλλη περιπτωση απλα αντι για program files κανε χρηση το σωστο directory.

ελπιζω να βοηθησα

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Τώρα δουλεύει, να 'σαι καλά!:-)

 

Έχω την εξής απορία. Όταν μου δώσει κάποιος την είσοδο πχ "10 20 30 -80" θέλω να πάρω τον κάθε χαρακτήρα και να τον μετατρέψω σε int. Στην περίπτωση μας θέλω να έχω τους αριθμούς 10, 20, 30 και -80. Έχω βρεί τρόπο να κάνω αυτήν την μετατροπή μόνο αν γνωρίζω τον αριθμό των δεδομένων. Στην περίπτωση μας είναι 4 τα δεδομένα. Υπάρχει τρόπος να μετρήσω πόσα είναι τα δεδομένα μέσα σε ένα string ή τουλάχιστον τα κενά διαστήματα; ( Η είσοδος που θα δίνεται θα είναι έγκυρη, δηλαδή θα περιέχει σίγουρα αλφαριθμητικά που μπορούν να μετατραπούν σε αριθμούς)

 

Ευχαριστώ εκτων προτέρων!

 

νομιζω οτι απο το να κανεις την διαδικασια να σωσεις τους αριθμους σε string μετα να τους κανεις Split και να τους μετατρεψεις σε Integers ειναι πιο ευκολο να παρεις το input απο την main οπως προαναφεραν και να κανεις μα φορα την μετατροπη. ο κωδικας νομιζω θα βοηθησει. ολα αυτα που σου ειπαν παραπανω ειναι απολυτως σωστα για αποφυγη παρεξηγησης :-)

 

>public class paradeigma {
public static void main(String[] args){
	if(args.length>0){
		int[] data= new int[args.length];
		for(int i=0; i<args.length; i++){
			data[i] = Integer.parseInt(args[i]);
		}
		for(int i=0; i<data.length; i++){
			System.out.println(data[i]+"\n");
		}
	}
	else{System.out.println("No Input");}
}
}

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@zozeo

 

Ευχαριστώ για την βοήθεια! Δοκίμασα αυτό που προτείνεις και λειτουργεί και αυτό κανονικά!:-)

 

 

Τώρα προσπαθώ να κάνω κάτι άλλο. Να διαβάσω δεδομένα απο ένα αρχείο .txt. Έχω καταφέρει να ανοίγω αρχεία και να διαβάζω δεδομένα, όμως έχω κολλήσει στο εξείς σημείο. Δεν έχω καταφέρει να διαβάζω δεδομένα αγνοώντας την αρχική λέξη κάθε γραμμής του αρχείου. Για να γίνω κατανοητός θα δώσω ένα παράδειγμα. Έστω ένα αρχείο .txt με τις εξής 7 γραμμές:

 

6

12 4

17 56

4 2

86 54

5 6

3 57

 

Αυτό που θέλω να κάνω εγώ είναι να αποθηκεύσω σε ένα πίνακα τα εξής:

 

6

4

56

2

54

6

57

 

Η πρώτη γραμμή του αρχείου(στην περίπτωση μας ο αριθμός "6") υποδηλώνει πόσες γραμμές ακολουθούν. Καμιά ιδέα για το πως μπορώ να το κάνω.... :-)

 

ΥΓ Η πρώτη γραμμή θα περιέχει πάντα έναν αριθμό και όχι δύο, όπως οι υπόλοιπες.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

φιλε μου ο παρακατω κωδικας κανει αυτο που ζητας αλλα καλο ειναι να μας δινεις τι εχεις δουλεψει γιατι ετσι δεν θα μαθεις ποτε να προγραμματιζεις :-)

για να δουλεψει πρεπει στον ιδιο φακελο με των κωδικα να υπαρχει το αρχειο paradigma.txt με τους αριθμους.

αν κατι δεν καταλαβαινεις ρωτα ελευθερα. ελπιζω να βοηθησα :rolleyes:

 

>import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;


public class paradeigma {
public static void main(String[] args){
	File file = new File("paradigma.txt");
	int[] data;
	int count =0;
	Scanner fileInput;
	try {
		fileInput = new Scanner(file);
		data = new int[fileInput.nextInt()];
		fileInput.next();
		while(fileInput.hasNextLine()){
			String[] dataSplitted = fileInput.nextLine().split(" ");
			data[count] = Integer.parseInt(dataSplitted[1]);
			count++;
		}
		
	} catch (FileNotFoundException evt) {
		evt.printStackTrace();
	}
	
	
}
}

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να 'σαι καλά φίλε μου!:-)

Λειτουργεί κανονικά το παραπάνω, με την διαφορά βέβαια ότι δεν προσθέτει και τον αριθμό που βρίσκεται στην πρώτη γραμμή του αρχείου. Τώρα που το σκέφτομαι όμως, τον αριθμό αυτόν θα μπορούσα να τον βρώ με τον εξής τρόπο: data.length, οπότε δεν υπάρχει πρόβλημα!:-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 1 μήνα μετά...

Μια ερώτηση.

Στη java τι νόημα έχει το σύμβολο ":" (άνω κάτω τελεία)??

Το έχω συναντήσει μέσα σε for αλλά δεν καταλαβαίνω τι σημαίνει.

Αν θέλετε θα σας δώσω και το παράδειγμα σε περίπτωση που δεν καταλαβαίνετε.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.


  • Δημιουργία νέου...