Java: πως δίνει ο χρήστης τιμή σε μια μεταβλητή;

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
diti
Δημοσιεύσεις: 54
Εγγραφή: 09 Ιαν 2004 17:41
Τοποθεσία: ΘΕΣΣΑΛΟΝΙΚΗ
Επικοινωνία:

Java: πως δίνει ο χρήστης τιμή σε μια μεταβλητή;

Δημοσίευση από diti » 09 Μαρ 2005 01:21

Ενώ γνωρίζω ότι αν χρησιμοποιήσω την εντολή System.out.print(...) θα εμφανιστεί κάποιο μήνυμα στην οθόνη δεν βρίσκω ποια εντολή θα χρησιμοποιήσω για να δίνει ο χρήστης τιμή σε μια μεταβλητή. (όπως είναι στη c η scanf). Ευχαριστώ.

Άβαταρ μέλους
Paralias
Δημοσιεύσεις: 82
Εγγραφή: 29 Ιαν 2005 20:00

Java: πως δίνει ο χρήστης τιμή σε μια μεταβλητή;

Δημοσίευση από Paralias » 09 Μαρ 2005 01:42

Υπάρχουν δύο τρόποι να το κάνεις αυτό:
1)

Κώδικας: Επιλογή όλων

int x = Integer.parseInt(args[0]);
int y = Integer.parseInt(args[1]);
2)

Κώδικας: Επιλογή όλων

int x = System.in.read();
Στη δεύτερη περίπτωση πρέπει εκεί που δηλώνεις τη συνάρτηση main να γράψεις: throws IOException και στην αρχή αρχή πριν ακόμα δηλώσεις την κλάση να γράψεις: import java.io.*;

Δηλαδή θα είναι κάπως έτσι:

Κώδικας: Επιλογή όλων

import java.io.*;
class....{
.
.
.
public static void main (String args[])  throws IOException {
.
.
.
.
  }
}
Η πρώτη περίπτωση είναι πιο εύκολη για να περάσεις παραμέτρους μόνο που πρέπει να το κάνεις στη γαρμμή εντολών.Δηλαδή αν τρέχεις το πρόγραμμα από command line πρέπει να γράψεις: java programma_sou parametros1 parametros2 κτλ.
Στο λέω γιατί αν διαλέξεις να δουλέψεις με το δεύτερο τρόπο θα πρέπει να χρησιμοποιήσεις και System.in.skip(n);

Your choice!


Άβαταρ μέλους
spin
Δημοσιεύσεις: 418
Εγγραφή: 19 Δεκ 2002 06:52
Τοποθεσία: Los Angeles
Επικοινωνία:

Java: πως δίνει ο χρήστης τιμή σε μια μεταβλητή;

Δημοσίευση από spin » 09 Μαρ 2005 19:09

int x;

x = JOptionPane.showInputDialog("Please enter an integer: ");

o parapano einai o agapimenos mou tropos :)

Άβαταρ μέλους
Paralias
Δημοσιεύσεις: 82
Εγγραφή: 29 Ιαν 2005 20:00

Java: πως δίνει ο χρήστης τιμή σε μια μεταβλητή;

Δημοσίευση από Paralias » 09 Μαρ 2005 21:12

spin έγραψε:int x;

x = JOptionPane.showInputDialog("Please enter an integer: ");

o parapano einai o agapimenos mou tropos :)
Αυτό όμως απαιτεί τον δεύτερο τρόπο που περιέγραψα και αν θέλει να εισάγει πάνω από έναν ακέραιο τότε πρέπει να αποθηκεύει τον πρώτο και να συνεχίζει στο δεύτερο,στον τρίτο κτλ..
Αν πάντως diti θες να το κάνεις έτσι θα είναι λίγο πιο πολύπλοκο,αλλά πιο ωραίο.Αν δεν ξέρεις πως να το κάνεις πες μου..

Άβαταρ μέλους
Spyros Varelis
Δημοσιεύσεις: 14
Εγγραφή: 03 Μαρ 2005 00:40
Τοποθεσία: Corfu

Java: πως δίνει ο χρήστης τιμή σε μια μεταβλητή;

Δημοσίευση από Spyros Varelis » 10 Μαρ 2005 12:41

Paralias eipe:

Κώδικας: Επιλογή όλων

import java.io.*;
class....{
.
.
.
public static void main (String args[])  throws IOException {
.
.
.
.
  }
}
Nomizw prepei n asymplhrwsoume oti katw apo th grammh:

public static void main (String []args) throws IOException {

prepei na baleis kai:

Κώδικας: Επιλογή όλων

BUfferedReader br=new Bufferedreader(new InputStreamReader            (System.in));
SNB

Άβαταρ μέλους
Spyros Varelis
Δημοσιεύσεις: 14
Εγγραφή: 03 Μαρ 2005 00:40
Τοποθεσία: Corfu

Java: πως δίνει ο χρήστης τιμή σε μια μεταβλητή;

Δημοσίευση από Spyros Varelis » 10 Μαρ 2005 12:45

Sorry, den proseksa oti einai:

int x = Integer.parseInt(args[0]);
int y = Integer.parseInt(args[1]);

Mperdeytika me to diko mou tropo pou eisagw dedomena apo to pliktrologio
int x=Integer.parseInt(br.readLine());

Ayto pou sou egrapsa isxyei gia ton diko mou tropo
(oxi oti einai dikos mou, apla auton xrhsimopoiw.

Filika, Spyros.
SNB

Άβαταρ μέλους
Dr_Java
Δημοσιεύσεις: 218
Εγγραφή: 15 Αύγ 2003 16:42
Τοποθεσία: πειραιας
Επικοινωνία:

Java: πως δίνει ο χρήστης τιμή σε μια μεταβλητή;

Δημοσίευση από Dr_Java » 24 Μαρ 2005 12:41

Κοιτα λίγο παρακάτω και θα καταλάβεις τι γίνετε...

Κώδικας: Επιλογή όλων

import java.io.*;

public class IOTesting 
{
	public static void main(String args []) throws IOException
	 {
	 	int x;//oi metablites soy
	 	int y;
	 	String str;
	 	
	 	BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
	 	
	 	System.out.print("Dose moy to onoma soy :");
	 	str = read.readLine(); // kataxorisi toy input sti metabliti "str"
	 	
	 	System.out.print("Dose moy tin timi #1 :");
	 	String input1 = read.readLine();// Diabasma toy input san String 
	 	x = Integer.parseInt(input1);// metatropi apo String se Integer
	 	
	 	System.out.print("Dose moy tin timi #2 :");
	 	String input2 = read.readLine();
	 	y = Integer.parseInt(input2);
	 	
	 }
}
Η java οταν διαβάζει από το πληκτρολόγιο όλα τα input τα δέχετε σαν String. Εσυ τώρα αυτό που έχεις να κάνεις είναι να πάρεις αυτά τα Stings και να τα μετατρέψεις σε integers η οτι άλλο θέλεις... Σε κάθε wrapper class (Ιnteger, float, double, long...) υπάρχει μια μέθοδος η οποία κάνει αυτή την δουλειά, η parseInt() ή parseDouble κτλ... Σύμφωνα με αυτά που σου είπα τώρα λογικά μπορεις να καταλαβεις τι γίνετε παραπάνω... Εννοειται ανάλογα με την μετατροπη που θες να κάνεις χρησιμοποιείς και την ανάλογη wrapper class και μέθοδο... Α! Οταν θές να διαβάσεις String δεν κάνεις καμια μετατροπή (κοιτα το πρώτο input, γιαυτό το έβαλα) :D :D :D
Εικόνα

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες