[java][risolto]min e max da stringa

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
CRIMON
Prode Principiante
Messaggi: 136
Iscrizione: domenica 30 agosto 2015, 18:38
Desktop: Unity\Mate
Distribuzione: Ubuntu 15.10
Sesso: Maschile

[java][risolto]min e max da stringa

Messaggio da CRIMON »

salve, stavo provando a fare questo eserizio: prendo una stringa da tastiera e in output stampo il massimo e numero della stringa, io l' ho visto così ma non so perchè mi sembra che salvi e stampi i codici unicode

Codice: Seleziona tutto

import prog.io.*;
public class maxmin {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ConsoleInputManager in = new ConsoleInputManager();
		String s = in.readLine("inserire seq SOLO NUMERI");
		int min = 10;
		int max = 0;
		for ( int i = 0; i < s.length(); i++){
			char k = s.charAt(i);
				if(Character.isDigit(k)){
					int x = new Integer(s.charAt(i));
					if(x>max)
						max = k;
					else 	
						if(x<min)
						min = k;
					
				}
		}
		System.out.println(min + " e " + max);
	}

}
Ultima modifica di CRIMON il giovedì 2 marzo 2017, 14:05, modificato 1 volta in totale.
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1638
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: min e max da stringa

Messaggio da nuzzopippo »

"s.charAt(i)" ti da un char, che è un numero devi utilizzare substring
Fatti non foste a viver come bruti ...
CRIMON
Prode Principiante
Messaggi: 136
Iscrizione: domenica 30 agosto 2015, 18:38
Desktop: Unity\Mate
Distribuzione: Ubuntu 15.10
Sesso: Maschile

Re: min e max da stringa

Messaggio da CRIMON »

scusa, ma se uso substring ho ancora una stringa, non posso applicarci isdigit, come lo dovrei riconoscere il numero
Avatar utente
toro2k
Prode Principiante
Messaggi: 148
Iscrizione: lunedì 30 gennaio 2012, 12:56
Località: Savona

Re: min e max da stringa

Messaggio da toro2k »

Codice: Seleziona tutto

int x = new Integer(s.charAt(i));
Questa istruzione assegna a x il valore UTF-16 del carattere s.charAt(i). (tra l'altro dovrebbe bastare int x = s.charAt(i), Integer non serve).
Per avere il valore numerico della cifra corrispondente al carattere devi usare:

Codice: Seleziona tutto

int x = Character.getNumericValue(s.charAt(i));
Vedi http://docs.oracle.com/javase/7/docs/ap ... alue(char) per maggiori dettagli.
Software is meant to be soft!
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1638
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: min e max da stringa

Messaggio da nuzzopippo »

CRIMON [url=http://forum.ubuntu-it.org/viewtopic.php?p=4963044#p4963044][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:scusa, ma se uso substring ho ancora una stringa, non posso applicarci isdigit, come lo dovrei riconoscere il numero

Codice: Seleziona tutto

Integer.parseInt(stringa.substring(i,i+1));
Il metodo Te lo avevo già mostrato, con i link delle classi, in questo Tuo post, se guardi, poi i costruttori della classe Integer vedrai che supporta i valori numerici e quelli stringa.
Constructor Summary
Constructors Constructor and Description
Integer(int value)
Constructs a newly allocated Integer object that represents the specified int value.
Integer(String s)
Constructs a newly allocated Integer object that represents the int value indicated by the String parameter.
Perciò un eventuale

Codice: Seleziona tutto

int x = new Integer(s.substring(i,i+1));
sarebbe anche andato bene, a patto che si fosse in presenza in una stringa rappresentante un numero.

[Edit] - giacchè ci sono, controlla bene i valori che assegni a massimo e minimo.
Fatti non foste a viver come bruti ...
CRIMON
Prode Principiante
Messaggi: 136
Iscrizione: domenica 30 agosto 2015, 18:38
Desktop: Unity\Mate
Distribuzione: Ubuntu 15.10
Sesso: Maschile

Re: min e max da stringa

Messaggio da CRIMON »

ho terminato qusto esercizio, grazi
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti