Αλλαγή γραμματοσειράς
Ημερομηνία Τετ Ιουν 26, 2019 12:48 pm
foss.aueb.gr

Προγραμματισμός

Java Question

Σχετικά με τον προγραμματισμό

Java Question

Δημοσίευσηαπό Open Proskopos » Σάβ Οκτ 02, 2010 12:38 pm

Γράφω και εδώ, μπας και βρω πιο σύντομα απάντηση... :)
Έχω τον παρακάτω κώδικα. Θέλω να δώσω ένα input από το πληκτρολόγιο και να δω αν είναι της μορφής του pattern που περιγράφω.
Κώδικας: Επιλογή όλων
\
        Scanner in = new Scanner(System.in);
        Pattern Type = Pattern.compile("^([+|-]?)( \\d+(\\.\\d*)? ) ([a-zA-Z]?)$");
        String input = in.nextLine();
        Matcher m = Pattern.matcher(input);

Όμως η μέθοδος matcher ειναι non-static και δεν ορίζεται για static input.
Δεν βρίσκω πουθενά πως μπορώ να κάνω την σύγκριση, για input που δίνει ο χρήστης.. Τι μπορώ να κάνω?
"In a world without end, my will is eternal. But a quest for the source of immortality will awaken the Guardian."
----------

"If you reveal your secrets to the wind, you should not blame the wind for revealing them to the trees."
Άβαταρ μέλους
Open Proskopos
Open Member
 
Δημοσ.: 79
Εγγραφη: Παρ Ιαν 22, 2010 12:57 am
Τοποθεσια: In the Cloud....

Re: Java Question

Δημοσίευσηαπό c00kiemon5ter » Σάβ Οκτ 02, 2010 12:49 pm

Κώδικας: Επιλογή όλων
String regex = "^([+|-]?)( \\d+(\\.\\d*)? ) ([a-zA-Z]?)$";
boolean match = Pattern.matches(regex, input);
Computers are simple. You just write an instruction and they follow it.
Εικόνα
a cookie! ~ i.will.do.science.to.it! Εικόνα
Άβαταρ μέλους
c00kiemon5ter
cookie hunter
 
Δημοσ.: 554
Εγγραφη: Δευτ Μάιος 11, 2009 1:55 am
Τοποθεσια: (void *)NULL
Operating System: ~ Arch ~ .: Gentoo :.

Re: Java Question

Δημοσίευσηαπό Open Proskopos » Σάβ Οκτ 02, 2010 12:57 pm

Όλο το κομμάτι που γράφω ειναι αυτό..
Κώδικας: Επιλογή όλων
package javaapplication3;
import java.util.*;
import java.util.regex.*;

public class Main {

    public static void main(String[] args) {

        String regex = "([+|-]?)( \\d+(\\.\\d*)? ) ([a-zA-Z]?)"; //Input Pattern
               Scanner in = new Scanner(System.in);

        System.out.println("dwse input..!");
 
        String input = in.nextLine();

        boolean match = Pattern.matches(regex, input);

        //analyse the string
        String [] tokens = input.split(regex);

        //Output the tokens
        System.out.println("Number of tokens:" +tokens.length);
        for (String token :tokens)
        {
            System.out.println(token);
        }
    }

}

το αποτέλεσμα που δίνει δεν ειναι αυτό που θέλω..
Άμα γράψω hgfj το δέχεται και το εμφανίζει.. ενώ το pattern μου δεν εχει σχέση με αυτην την είσοδο.. τι παίζει?
"In a world without end, my will is eternal. But a quest for the source of immortality will awaken the Guardian."
----------

"If you reveal your secrets to the wind, you should not blame the wind for revealing them to the trees."
Άβαταρ μέλους
Open Proskopos
Open Member
 
Δημοσ.: 79
Εγγραφη: Παρ Ιαν 22, 2010 12:57 am
Τοποθεσια: In the Cloud....

Re: Java Question

Δημοσίευσηαπό arpl » Σάβ Οκτ 02, 2010 1:24 pm

H split kanei ayto pou leei kai h leksi "splits in tokens with delim the regex you pass". Esy twra exeis ena regex patter
pou to sygkrineis me tin eisodo sou vazeis se mia metavliti(match) to an telika yparxei to pattern stin eisodo kai meta
h split pou kaleis kanei kati teleiws diaforetiko spaei to string ws pros to idio regex. Den exw katalavei ti 8es alla ontws
an dwseis mia mono leksi opoia kai an einai ayti o parapanw kwdikas apla 8a tin typwsei.
Άβαταρ μέλους
arpl
Open Member
 
Δημοσ.: 66
Εγγραφη: Πέμ Μάιος 07, 2009 5:34 pm
Τοποθεσια: /dev/null
Operating System: NONE

Re: Java Question

Δημοσίευσηαπό Open Proskopos » Σάβ Οκτ 02, 2010 1:30 pm

arpl έγραψε:H split kanei ayto pou leei kai h leksi "splits in tokens with delim the regex you pass". Esy twra exeis ena regex patter
pou to sygkrineis me tin eisodo sou vazeis se mia metavliti(match) to an telika yparxei to pattern stin eisodo kai meta
h split pou kaleis kanei kati teleiws diaforetiko spaei to string ws pros to idio regex. Den exw katalavei ti 8es alla ontws
an dwseis mia mono leksi opoia kai an einai ayti o parapanw kwdikas apla 8a tin typwsei.

Κατάλαβα..
Κώδικας: Επιλογή όλων
        if (!match)
        {
            System.out.println("Wrong Input...");
        }else
        {
           
        }
έτσι είναι σωστό.. τώρα ψαχνω πως θα πάρω απλά, το τελευταιο char του input...
"In a world without end, my will is eternal. But a quest for the source of immortality will awaken the Guardian."
----------

"If you reveal your secrets to the wind, you should not blame the wind for revealing them to the trees."
Άβαταρ μέλους
Open Proskopos
Open Member
 
Δημοσ.: 79
Εγγραφη: Παρ Ιαν 22, 2010 12:57 am
Τοποθεσια: In the Cloud....

Re: Java Question

Δημοσίευσηαπό c00kiemon5ter » Σάβ Οκτ 02, 2010 2:40 pm

Κώδικας: Επιλογή όλων
char lastchar = somestring.charAt(somestring.length-1);
Computers are simple. You just write an instruction and they follow it.
Εικόνα
a cookie! ~ i.will.do.science.to.it! Εικόνα
Άβαταρ μέλους
c00kiemon5ter
cookie hunter
 
Δημοσ.: 554
Εγγραφη: Δευτ Μάιος 11, 2009 1:55 am
Τοποθεσια: (void *)NULL
Operating System: ~ Arch ~ .: Gentoo :.

Re: Java Question

Δημοσίευσηαπό Open Proskopos » Σάβ Οκτ 02, 2010 4:55 pm

ευχαριστώ παιδιά.. βρήκα λύση... και τελειωσα αυτό που έκανα..

Σκέφτηκα να κάνω κάτι ακόμα..
Θέλω από ενα string να πάρω όλους τους χαρακτήρες εκτός του πρώτου και του τελευταίου...
Θα μπορούσα να βάλω το string σε εναν πίνακα εκτός απο το string.charAt(string.lenght-1) και το string.charAt(0).
Υπάρχει καλύτερος τρόπος?
"In a world without end, my will is eternal. But a quest for the source of immortality will awaken the Guardian."
----------

"If you reveal your secrets to the wind, you should not blame the wind for revealing them to the trees."
Άβαταρ μέλους
Open Proskopos
Open Member
 
Δημοσ.: 79
Εγγραφη: Παρ Ιαν 22, 2010 12:57 am
Τοποθεσια: In the Cloud....

Re: Java Question

Δημοσίευσηαπό c00kiemon5ter » Σάβ Οκτ 02, 2010 4:58 pm

Κώδικας: Επιλογή όλων
String mid = somestring.substring(1, somestring.length()-1);
Computers are simple. You just write an instruction and they follow it.
Εικόνα
a cookie! ~ i.will.do.science.to.it! Εικόνα
Άβαταρ μέλους
c00kiemon5ter
cookie hunter
 
Δημοσ.: 554
Εγγραφη: Δευτ Μάιος 11, 2009 1:55 am
Τοποθεσια: (void *)NULL
Operating System: ~ Arch ~ .: Gentoo :.


Επιστροφή στην Προγραμματισμός

cron
foss.aueb.gr

Μελη σε συνδεση

Συνολικά υπάρχουν 0 μέλη συνδεδεμένα: 0 εγγεγραμμένο, 0 κρυφοί και 0 επισκέπτης (με βάση τα μέλη που έχουν συνδεθεί τα τελευταία 5 λεπτά)
Περισσότερα μέλη σε σύνδεση 167 την Κυρ Οκτ 02, 2016 2:55 am

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

Γενέθλια

Κανένα μέλος δεν έχει γενέθλια σήμερα