Pages: [1]   Go Down
Print
Author Topic: minuscole/MAIUSCOLE()  (Read 2553 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Grillo
Apprendista Forumista
**
Offline Offline

Posts: 219


« on: 04-05-2010, 15:16:59 »

Esiste un metodo già pronto per trasformare da minuscolo a maiuscolo?
oppure bisogna crearlo da zero..
charAt restituisce il carattere, e per trasformalo da minuscolo a maiuscolo come si fa!
Logged
Pandemia000
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 1.714


Γνῶθι Σεαυτόν


« Reply #1 on: 04-05-2010, 15:20:38 »

se ri riferisci al linguaggio java basta guardare la documentazione

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

(vedi toUpperCase e toLowerCase )
Logged

La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta. (Isaac Asimov)
Grillo
Apprendista Forumista
**
Offline Offline

Posts: 219


« Reply #2 on: 04-05-2010, 15:35:57 »

ok era proprio questo grazie..
Logged
Pandemia000
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 1.714


Γνῶθι Σεαυτόν


« Reply #3 on: 04-05-2010, 15:37:01 »

ovviamente usa il casting se vuoi proprio dei caratteri. 
Logged

La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta. (Isaac Asimov)
Grillo
Apprendista Forumista
**
Offline Offline

Posts: 219


« Reply #4 on: 04-05-2010, 16:44:00 »

Non riesco a capire come usarlo..
Logged
Grillo
Apprendista Forumista
**
Offline Offline

Posts: 219


« Reply #5 on: 04-05-2010, 16:57:08 »

Code:
while (in.ready()) {
String c=in.readLine();
output.write(c);
output.write('\n');

Leggo la riga ed in questo caso la scrivo così com'è sul file di output
e se voglio scriverla con le maiuscole? come lo uso toUpperCase()
Logged
Pandemia000
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 1.714


Γνῶθι Σεαυτόν


« Reply #6 on: 04-05-2010, 16:58:47 »

prova così:
Code:
while (in.ready()) {
String c=in.readLine();
output.write(c.toUpperCase());
output.write('\n');
Logged

La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta. (Isaac Asimov)
Grillo
Apprendista Forumista
**
Offline Offline

Posts: 219


« Reply #7 on: 04-05-2010, 17:07:39 »

Si ora funziona tutto.
l'unica cosa è che siccome l'esercizio5 chiede di trasformare da minuscolo in maiuscolo ma chiede anche il viceversa, cioè se trovo dei caratteri minuscoli devo passarli a maiuscoli. e li devo vedere come fare ora..
perchè così come ho fatto me li passa tutti in maiuiscoli. come posso fare?

Cioè più che altro come faccio a fargli capire se un carattere è minuscolo o maiuscolo
« Last Edit: 04-05-2010, 17:13:26 by Grillo » Logged
Pandemia000
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 1.714


Γνῶθι Σεαυτόν


« Reply #8 on: 04-05-2010, 17:33:05 »

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Character.html
« Last Edit: 04-05-2010, 17:40:37 by Pandemia000 » Logged

La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta. (Isaac Asimov)
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #9 on: 04-05-2010, 23:20:36 »

Allora, prima di tutto, se ti chiedono di convertire i caratteri, probabilmente vogliono che tu ci ragioni "a mano", senza usare funzioni pre-impostate, anche se in teoria mi sembrerebbe un esercizio tipico per Programmazione 1...
ma comunque:
Cioè più che altro come faccio a fargli capire se un carattere è minuscolo o maiuscolo
Una strada per fornire direttamente l'output sarebbe il seguente pseudo-codice:
Code:
1) mentre (input è fornito)
2)    per ogni carattere di input
3)    se carattere è maiuscolo
4)        stampa carattere minuscolo
5)    altrimenti
6)        stampa carattere
Per fare 2) ci sono vari modi, uno di questi è iterare stringa.charAt (i) su i
Per capire se un simbolo è maiuscolo oppure no, puoi confrontarlo con quello che per te è un carattere maiuscolo, ovvero un carattere compreso tra 'A' e 'Z' sapendo che c'è una corrispondenza biunivoca tra caratteri e numeri (i loro codici Unicode, cioè), quindi esiste un'ordinamento totale fra loro, oppure puoi vedere se il carattere è uguale alla sua versione maiuscola, nel qual caso sai che è maiuscolo boh... però questo prevede che tu calcoli il maiuscolo di un carattere comunque, anche se poi magari non serve. nono
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
mafalda
Apprendista Forumista
**
Offline Offline

Posts: 430


CЯΣDΣЯCI SΣMPЯΣ, ΛЯЯΣПDΣЯSI MΛI!


« Reply #10 on: 10-06-2010, 17:18:02 »

Io l'ho svolto così, ma mi dà errore nelle due print dei caratteri(in particolare mi dice "char cannot be dereferenced") Qualcuno può aiutarmi please??? grazie

Code:
import prog.io.*;
import java.io.*;

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

BufferedReader reader = new BufferedReader(new FileReader ("input.txt"));
PrintWriter output = new PrintWriter("output.txt");

try {

while(reader.ready()){

String s = reader.readLine();
char c;

for (int i =0; i < s.length(); i++) {

c= s.charAt(i);
if (c >= 65 &&  c <=90) {
output.write(c.toLowerCase());
}
else if (s.charAt(i) >= 97 && s.charAt(i) <= 122){
output.write(c.toUpperCase());
}
else {
output.write(c);
}
}
}
}
catch (IOException e) {
System.out.println(e.getMessage());
}
reader.close();
output.close();
}
}
Logged

...๔єςเ, ๔єςเ, ๔єςเ...
R3m
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 486



« Reply #11 on: 10-06-2010, 18:23:20 »

semplicemente il char non ha metodi, è un tipo primitivo, se vuoi usare toLowerCase e toUpperCase devi o farteli da te per i char, oppure creare una String ogni volta (bruttissimo  no), oppure ancora creare una String e sommare a mano a mano i char e fare alla fine o ad ogni iterazione toLowerCase o toUpperCase
Logged

Ciò che è nostro è stato in campo sudato....ciò che vostro è stato in aula assegnato.
In serie B non sei mai stato perchè la prescrizione t'ha salvato.
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #12 on: 10-06-2010, 19:16:42 »

semplicemente il char non ha metodi, è un tipo primitivo, se vuoi usare toLowerCase e toUpperCase devi o farteli da te per i char
Questo non è vero (la parte sottolineata ).

public static char toUpperCase(char ch) in java.lang.Character
public static char toLowerCase(char ch) in java.lang.Character
 ok
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
R3m
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 486



« Reply #13 on: 10-06-2010, 20:11:29 »

hai ragione  no praticamente non uso mai le boxed XD
Logged

Ciò che è nostro è stato in campo sudato....ciò che vostro è stato in aula assegnato.
In serie B non sei mai stato perchè la prescrizione t'ha salvato.
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #14 on: 10-06-2010, 20:30:06 »

ovviamente usa il casting se vuoi proprio dei caratteri. 
Anche volendo passare dalle omonime funzioni fornite da java.lang.String, non esiste alcuna possibilità di casting tra char e String , al massimo si possono usare metodi di ottenimento char (da String a char) o metodi costruttori/concatenazione[+] (da char a String) .
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
Pages: [1]   Go Up
Print
Jump to: