Pages: [1] 2   Go Down
Print
Author Topic: Come prendere un byte in input?  (Read 2926 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« on: 16-02-2011, 11:42:41 »

Salve ragazzi, stavo svolgendo un esercizio che richiede di prendere in input una matrice di byte... sono 2 giorni che cerco sia su internet che sulle dispense del Prof. ma non riesco a trovare il comando per prendere in input un byte, qualcuno sa come si fa? Devo fare prima un Casting e poi prenderlo come stringa? Se devo fare il casting quale è il comando per il byte? (per l'int a quanto ne so è questo:"Integer.parseInt") attendo risposta graziee
Logged
ɹǝǝ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 #1 on: 16-02-2011, 11:49:44 »

Salve ragazzi, stavo svolgendo un esercizio che richiede di prendere in input una matrice di byte... sono 2 giorni che cerco sia su internet che sulle dispense del Prof. ma non riesco a trovare il comando per prendere in input un byte, qualcuno sa come si fa? Devo fare prima un Casting e poi prenderlo come stringa? Se devo fare il casting quale è il comando per il byte? (per l'int a quanto ne so è questo:"Integer.parseInt") attendo risposta graziee
Molto banalmente: Byte.parseByte  boh
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
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #2 on: 16-02-2011, 11:54:44 »

Salve ragazzi, stavo svolgendo un esercizio che richiede di prendere in input una matrice di byte... sono 2 giorni che cerco sia su internet che sulle dispense del Prof. ma non riesco a trovare il comando per prendere in input un byte, qualcuno sa come si fa? Devo fare prima un Casting e poi prenderlo come stringa? Se devo fare il casting quale è il comando per il byte? (per l'int a quanto ne so è questo:"Integer.parseInt") attendo risposta graziee
Molto banalmente: Byte.parseByte  boh

  quando si dice, perdersi in un bicchier d'acqua ahah grazie Wink
Logged
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #3 on: 16-02-2011, 12:26:20 »

Ma non esistono metodi per prendere in input direttamente tipi di dati byte o integer? per forza bisogna fare il Casting?
Logged
ɹǝǝ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 #4 on: 16-02-2011, 12:37:57 »

Ma non esistono metodi per prendere in input direttamente tipi di dati byte o integer? per forza bisogna fare il Casting?
I metodi Miotipo.parseMiotipo non fanno propriamente il casting .

E poi la domanda non è chiara: "input" è un termine troppo generico. Dovresti specificare da quale sorgente proviene l'input: se il tuo input proviene dalla tastiera, al più basso livello in cui puoi gestirlo da programmatore Java di codice non-nativo (cioè quello che facciamo noi all'uni. univ), otterrai solo tasti che vengono premuti (e tenuti tali) o rilasciati dall'essere premuti.

Java poi mette a disposizione dei meccanismi per ottenere delle stringhe convertendo tali tasti in rappresentazioni che si otterrebbero se si avesse a disposizione una casella di testo (come si può, ad esempio, vedere l'input in una shell). La stringa è il tipo di dati generico per le caselle di testo (ma anche il più vicino per gli usi comuni quando si ha a che fare con input che esprimono stringhe in un linguaggio formale, come i numeri): se vuoi avere qualcosa che non è stringa Java, ma ad esempio un numero gestibile come tale dal resto del codice, devi necessariamente adoperarti per ottenere tale numero, e le procedure usate (casting, parsing) sono imprescindibili.
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
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #5 on: 16-02-2011, 12:41:04 »

Ma non esistono metodi per prendere in input direttamente tipi di dati byte o integer? per forza bisogna fare il Casting?
I metodi Miotipo.parseMiotipo non fanno propriamente il casting .

E poi la domanda non è chiara: "input" è un termine troppo generico. Dovresti specificare da quale sorgente proviene l'input: se il tuo input proviene dalla tastiera, al più basso livello in cui puoi gestirlo da programmatore Java di codice non-nativo (cioè quello che facciamo noi all'uni. univ), otterrai solo tasti che vengono premuti (e tenuti tali) o rilasciati dall'essere premuti.

Java poi mette a disposizione dei meccanismi per ottenere delle stringhe convertendo tali tasti in rappresentazioni che si otterrebbero se si avesse a disposizione una casella di testo (come si può, ad esempio, vedere l'input in una shell). La stringa è il tipo di dati generico per le caselle di testo (ma anche il più vicino per gli usi comuni quando si ha a che fare con input che esprimono stringhe in un linguaggio formale, come i numeri): se vuoi avere qualcosa che non è stringa Java, ma ad esempio un numero gestibile come tale dal resto del codice, devi necessariamente adoperarti per ottenere tale numero, e le procedure usate (casting, parsing) sono imprescindibili.
Guarda nell'esercizio non è specificato da quale sorgente prendere l'input, mi riferisco ad esercizi svolti negli esami degli anni passati, secondo te si riferisce ad input da tastiera? "Scrivere un metodo che prenda in input una matrice A ...ecc..ecc."
Logged
StephCT
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #6 on: 16-02-2011, 12:49:07 »

Quote
Guarda nell'esercizio non è specificato da quale sorgente prendere l'input, mi riferisco ad esercizi svolti negli esami degli anni passati, secondo te si riferisce ad input da tastiera? "Scrivere un metodo che prenda in input una matrice A ...ecc..ecc."

questo vuol dire fare un metodo indipendente dove specifichi il parametro in input e output e poi le operazioni interne indipendentemente da ciò che c'è all'esterno. ad esempio:
Scrivere un metodo che prenda in input una matrice A di byte e restituisca un boolean ecc.ecc.
vuol dire scrivere
boolean metodo(byte[][] A)
{
   istruzioni
}

a te nn interessa come viene riempita quella matrice
Logged

"Che la Forza sia con Te"
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #7 on: 21-02-2011, 12:24:59 »

Quote
Guarda nell'esercizio non è specificato da quale sorgente prendere l'input, mi riferisco ad esercizi svolti negli esami degli anni passati, secondo te si riferisce ad input da tastiera? "Scrivere un metodo che prenda in input una matrice A ...ecc..ecc."

questo vuol dire fare un metodo indipendente dove specifichi il parametro in input e output e poi le operazioni interne indipendentemente da ciò che c'è all'esterno. ad esempio:
Scrivere un metodo che prenda in input una matrice A di byte e restituisca un boolean ecc.ecc.
vuol dire scrivere
boolean metodo(byte[][] A)
{
   istruzioni
}

a te nn interessa come viene riempita quella matrice


aaaa cpt e quindi mi basta fare da parte questo metodo, e poi richiamarlo nel main principale? certo è più semplice che fare il casting di tutti gli elementi della matrice precedentemente presi in input da tastiera con un ciclo for  boh
Logged
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #8 on: 21-02-2011, 12:41:38 »

Quote
Guarda nell'esercizio non è specificato da quale sorgente prendere l'input, mi riferisco ad esercizi svolti negli esami degli anni passati, secondo te si riferisce ad input da tastiera? "Scrivere un metodo che prenda in input una matrice A ...ecc..ecc."

questo vuol dire fare un metodo indipendente dove specifichi il parametro in input e output e poi le operazioni interne indipendentemente da ciò che c'è all'esterno. ad esempio:
Scrivere un metodo che prenda in input una matrice A di byte e restituisca un boolean ecc.ecc.
vuol dire scrivere
boolean metodo(byte[][] A)
{
   istruzioni
}

a te nn interessa come viene riempita quella matrice


aaaa cpt e quindi mi basta fare da parte questo metodo, e poi richiamarlo nel main principale? certo è più semplice che fare il casting di tutti gli elementi della matrice precedentemente presi in input da tastiera con un ciclo for  boh
no aspè, mi sono confuso, boolean metodo ecc.. allora significa che questo va direttamente nel main è già metodo richiamato diciamo...e non c'è bisogno quindi di ridefinirlo apparte o sbaglio?
Logged
StephCT
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #9 on: 21-02-2011, 12:43:09 »

no scrivere un metodo che..ecc.. significa nn devi manco fare il main, xkè quelli sono esercizi simil-prima prova quindi tu lavori su dati che entrano in entrata secondo le modalità descritte nelle richieste
Logged

"Che la Forza sia con Te"
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #10 on: 21-02-2011, 12:47:41 »

no scrivere un metodo che..ecc.. significa nn devi manco fare il main, xkè quelli sono esercizi simil-prima prova quindi tu lavori su dati che entrano in entrata secondo le modalità descritte nelle richieste
MMM cpt, quindi non devo neanche dichiarare le variabili? Cioè ad esempio il boolean restituito dal metodo che andrebbe dichiarato nel main se non sbaglio, devo direttamente fare il metodo come se fosse preso da un main già bello e impostato?
Logged
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #11 on: 21-02-2011, 13:02:54 »

e un'altra cosa, allora vi posto il testo dell'esercizio così ci capiamo meglio:
Scrivere un metodo che prenda in input una matrice A ed un array B entrambe di byte ed un intero n,  e restituisca un boolean che indichi se esistono in B almeno n elementi presenti anche in A.

quindi a questo punto, nel metodo il for come lo imposto? se come condizione metto
Code:
i<a[][].length-1
funziona? ho questo dubbio perchè essendo una matrice ha 2 indici, lo calcola ugualmente la grandezza della matrice? o funziona solo su un array il .length?
Logged
StephCT
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #12 on: 21-02-2011, 13:06:30 »

si questi esercizi funzionano immaginando che ci sia un main già fatto, anche altri metodi ovunque già fatti, e tu devi implementare solo questo cn le sue operazioni, in questo caso devi fare questo controllo. quel pezzo di codice che hai scritto è sbagliato a prescindere. per la prima dimensione si scrive i<A.length e per la seconda dimensione j<A[i ].length (supponendo che i e j siano diciamo rispettivamente indici di riga e colonna della matrice). cmq allora posta tutto il metodo e poi lo correggiamo
Logged

"Che la Forza sia con Te"
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #13 on: 21-02-2011, 13:28:11 »

si questi esercizi funzionano immaginando che ci sia un main già fatto, anche altri metodi ovunque già fatti, e tu devi implementare solo questo cn le sue operazioni, in questo caso devi fare questo controllo. quel pezzo di codice che hai scritto è sbagliato a prescindere. per la prima dimensione si scrive i<A.length e per la seconda dimensione j<A[i ].length (supponendo che i e j siano diciamo rispettivamente indici di riga e colonna della matrice). cmq allora posta tutto il metodo e poi lo correggiamo
L'ho fatto così ma ho provato ad implementarlo in un main e mi da parecchi errori:
Code:
public boolean metodo (byte[][]A,byte B[],int n, boolean verifica)
{
int c=0;
for(int k=0;k<B.length-1;k++)
{
for(int i=0, int j=0; (i<A.length-1) && (j<A[i].length-1);i++,j++)
{


if(B[k]==A[i][j])
{c++;}
}
}
if (c==n)
{verifica=true;}
return verifica;
}
« Last Edit: 21-02-2011, 13:54:32 by gigyrock » Logged
gigyrock
Apprendista Forumista
**
Offline Offline

Posts: 107



WWW
« Reply #14 on: 21-02-2011, 13:50:11 »

e questo è l'intero progetto:
Code:
public class provaesame1{
public boolean metodo (byte[][]A,byte B[],int n, boolean verifica)
{
int c=0;
for(int k=0;k<B.length-1;k++)
{
for(int i=0, int j=0; (i<A.length-1) && (j<A[i].length-1);i++,j++)
{


if(B[k]==A[i][j])
{c++;}
}
}
if (c==n)
{verifica=true;}
return verifica;
}
public static void main (String[]args)
{
byte [][] A = new byte [3][2];
byte [] B =new byte [3];
int n;
boolean verifica=false;
boolean metodo (A[][],b[],n,verifica);
System.out.println( verifica);
}
}



« Last Edit: 21-02-2011, 13:53:50 by gigyrock » Logged
Pages: [1] 2   Go Up
Print
Jump to: