Τα πάντα για την java

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 08 Ιαν 2012, 22:22

btw πως μπορω να διοχετεύσω την είσοδο που δίνεται απο τον χρήστη μεσα σε μια συνάρτηση....
πχ θελω να δινει ο χρηστης εναν δικο του αριθμο και μετα μεσω μιας συναρτησης να υπολογιζεται η δυναμη αυτου

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


import java.io.* ;

public class function {

static int dunami(int x)
{
return x*x;
}

static BufferedReader numberObject =
new BufferedReader (new InputStreamReader(System.in)) ;

public static void main(String args[])
{
int number;

System.out.print ("Give me an int : ") ;
number = Integer.parseInt (numberObject.readLine()) ;

int retValue=dunami(number);

System.out.println(retValue);

}

}


εδιτ : εκανα μια αλλαγή στον κώδικα... αλλα και παλι
Τελευταία επεξεργασία από Star_Light και 08 Ιαν 2012, 22:48, έχει επεξεργασθεί 2 φορά/ες συνολικά
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 08 Ιαν 2012, 22:43

ΣΤην είσοδο το έχω το προβλημα....

Κώδικας: Επιλογή όλων
import java.io.* ;

public class function {

static int dunami(int x)
{
return x*x;
}

static BufferedReader numberObject =
new BufferedReader (new InputStreamReader(System.in)) ;

public static void main(String args[])
{
int number;

System.out.print ("Give me an int : ") ;
//= Integer.parseInt (numberObject.readLine()) ;

int retValue=dunami(2);


System.out.println(retValue);

}

}


αμα καταργησω την γραμμή που επιχειρεί να δημιουργήσει ενα νεο αντικείμενο εισόδου τοτε δουλεύει μια χαρα το προγραμμα...
αλλα με προκαθορισμένη τιμή (εδω το 2) σαν παράμετρο μεσα στην συνάρτηση και οχι τυχαία εισοδο που δινει ο χρήστης.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό pc_magas » 09 Ιαν 2012, 02:44

@Star_Light
Δοκίμασε με Scanner να παίρνεις τιμές.
Και η τιμή όπου παίρνεις από το πληκτρολόγιο που την πας?
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2599
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 09 Ιαν 2012, 02:49

pc_magas έγραψε:@Star_Light
Δοκίμασε με Scanner να παίρνεις τιμές.
Και η τιμή όπου παίρνεις από το πληκτρολόγιο που την πας?


ΤΗΝ ΤΙΜΗ που θα παρω απο το πληκτρολογιο θελω να την δωσω
σαν ορισμα στην συνάρτηση ωστε να υπολογισει την δύναμη.

πχ αν δωσει 9 => 9^2
αν δωσει 8 => 8^2
....

κτλπ

θα διαβασει το 9 σαν string θα το κανει μετατροπή σε ακέραιο
και θα δωσει το αποτελεσμα
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό the_eye » 09 Ιαν 2012, 03:11

Δοκίμασε να διαβάσεις τιμές έτσι

Πάνω από την main βάλε
Κώδικας: Επιλογή όλων
import java.util.Scanner; //Καλώ βιβλιοθήκη για να κάνω ανάγνωση από το πληκτρολόγιο.


και μετά μέσα
Κώδικας: Επιλογή όλων
//Δημιουργώ ένα αντικείμενο για ανάγνωση από το πληκτρολόγιο
Scanner scan = new Scanner(System.in);
//Ανάγνωση ονόματος String
String onoma = scan.nextLine();

//Ανάγνωση Αριθμού Double
double T = scan.nextDouble();
scan.nextLine();
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 24.04.2
3 Intel Core i5-6500 CPU @ 3.20GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11719
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 09 Ιαν 2012, 03:30

@the_eye

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

import java.util.Scanner;

public class function {

static double dunami(double x)
{
return x*x;
}


public static void main(String args[])
{

Scanner Number = new Scanner(System.in);
System.out.print ("Give me an int : ") ;
double Number= scan.nextLine();
scan.nextLIne();

int retValue=dunami(Number);

System.out.println(retValue);

}

}


αλλα μου βγάζει σφάλματα

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

Duplicate local variable Number
scan cannot be resolved (2 φορες)
Type mismatch: cannot convert from double to int


edit: αντι για scan εβαλα το ονομα αντικειμενου. nextLine(); αλλα και παλι τα ιδια κανει... τελοςπαντων.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό the_eye » 09 Ιαν 2012, 03:44

Το scan.nextLine είναι για String, δες το παράδειγμα παραπάνω που σου έδωσα.
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 24.04.2
3 Intel Core i5-6500 CPU @ 3.20GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11719
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 09 Ιαν 2012, 03:53

the_eye έγραψε:Το scan.nextLine είναι για String, δες το παράδειγμα παραπάνω που σου έδωσα.


Το θεμα ειναι πως θα μετατρέψω μετα αυτο το string σε integer ωστε να το περασω μεσα στην συνάρτηση. :/

btw για να μην μπερδευτεί κάποιος με τις βλακείες μου :D ο κώδικας για απλή εισοδο απο τον χρήστη με χρήση της Scanner
ειναι ο ακόλουθος :

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

import java.util.Scanner;

public class eisodos {

public static void main(String args[])
{
String input; // Δήλωση της μεταβλητής input
Scanner scan= new Scanner(System.in); // Δημιουργία αντικειμένου εισόδου κλάσης Scanner

System.out.print ("Give me a string : ") ;
input = scan.nextLine(); // Αποθήκευση στην μεταβλητή τύπου String input

System.out.println("Your string is: " +input); // Τύπωμα του String που βρίσκεται αποθηκευμένο στην input

}

}


p.s Για να καταλάβω η είσοδος στην Java γίνεται σε Strings? ακομη και αν ειναι integer αυτο που δινεις η Java θα το επεξεργαστεί σαν συμβολοσειρά?
Αν θυμαμαι καλα το ιδιο γινότανε και στην C? :problem:
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό medigeek » 09 Ιαν 2012, 11:33

Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό the_eye » 09 Ιαν 2012, 13:05

ή θα βάλεις αυτό που λέει ο medigeek παραπάνω για int ή αυτό που σου έγραψα για double.

Πρέπει να μάθεις πρώτα τι είναι οι :
int
long
float
double

Κώδικας: Επιλογή όλων
//Ανάγνωση Αριθμού Double
double T = scan.nextDouble();
scan.nextLine();
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 24.04.2
3 Intel Core i5-6500 CPU @ 3.20GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11719
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι