|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
[JAVA]prendere dati da tastiera...
Codice:
import java.io.*;
public class MainClass {
public static void main(String[] args) {
//per fare una lettura da tastiera
InputStreamReader tastiera=new InputStreamReader(System.in);
BufferedReader buffer=new BufferedReader(tastiera);
try{
System.out.println("inserisci il numero di dischi\n");
int n=(int)buffer.read();
System.out.println(n);
String [][] array=new String[5][n];
for (int j=0;j<5;j++){
for (int i=0;i<n;i++){
array [i][j]=new String(buffer.readLine());}
}}
catch(IOException e){
System.out.println("Errore!!"+e);
}
}
}
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Codice:
import java.io.*;
public class MainClass {
public static void main(String[] args) {
// per fare una lettura da tastiera
InputStreamReader tastiera = new InputStreamReader(System.in);
BufferedReader buffer = new BufferedReader(tastiera);
try {
System.out.println("inserisci il numero di dischi\n");
int n = Integer.parseInt(buffer.readLine());
System.out.println(n);
String[][] array = new String[5][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < 5; j++) {
array[j][i] = buffer.readLine();
}
}
System.out.println("Dati inseriti:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(array[j][i]);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
poi ho fatto qualche modifichina nel codice perchè non mi piace fare un ciclo in cui c'è prima la j e poi la i, ma preferisco invertire i numeri nell'array ![]() EDIT: dimenticavo... è pure inutile fare new String(buffer.readLine()) dato che questo metodo ti restituisce già una stringa...
__________________
Ultima modifica di ^TiGeRShArK^ : 03-03-2006 alle 00:46. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
grazie mille
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
ma nessuno crede che l'IO in Java sia un pò troppo confusionario?..insomma il concetto base è semplice
colleghi lo stream ad una fonte, e poi lo bufferizzi...ma quanta confusione....
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Sep 2001
Città: de_legato
Messaggi: 792
|
Quote:
__________________
---------------------------------------------- File reality.sys corrupted, Reboot Universe? Y/N ---------------------------------------------- |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
...io ho provato C...lo trovo più semplice a causa del livello di astrazione più basso...
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 4329
|
wow, sei una macchina...come fai a trovare l IO di c piu facile di quello di java?? buon per te comunque
__________________
|18k+|slk800|a7n8x|1Gb/ddr400|Gf4mx440|Pio108|WD 160Gb|Case|Uni|Album|AnimeClick|OneManga| |ClassicThrash!|BNR Metal|TrueMetal|Dime|Chuck| |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
anche a me non piace tanto quello di java...
ma comunque non ci metti niente a crearti una classettina che te lo gestisca in modo semplice... anzi... ora quasi quasi provo a farla e se esce bene la posto
__________________
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
forse con un po più di pratica vi darò ragione...
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
Quote:
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
volevo domandarvi una cosa: ma è prassi che per leggere un char da file bisogna creare una variabile int e poi castarla a char? oppure ho sbagliato io qualcosa??
es: Codice:
try{
FileReader f=new FileReader("archivio.xml");
BufferedReader reader=new BufferedReader(f);
int a=reader.read();
System.out.println((char)a);
}
catch(FileNotFoundException g){
System.out.print("File Not FOund");
}
catch(IOException h){
System.out.print("IOException");
}
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
fatto..
scusate il ritardo ma ho dovuto sbrigare altre cosette pure Codice:
package keyboard;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Keyboard {
private static BufferedReader buffer;
public Keyboard() { }
public static String readLine(){
init();
try {
return buffer.readLine();
} catch (IOException e) {
return "ERROR: " + e.getMessage();
}
}
public static int readInt(){
init();
String line = readLine();
return Integer.parseInt(line);
}
private static void init(){
InputStreamReader keyboard = new InputStreamReader(System.in);
buffer = new BufferedReader(keyboard);
}
}
e comunque qui c'è la classe in cui l'ho provata: Codice:
import keyboard.Keyboard;
public class Prova {
public Prova() {}
public static void main(String[] args) {
System.out.println("Scrivi qualcosa: ");
System.out.println("Input della tastiera: " + Keyboard.readLine());
System.out.println("Inserisci un numero: ");
System.out.println("Numero inserito: " + Keyboard.readInt());
}
}
__________________
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
__________________
|
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
a me sembra che la scanf(%s,stringa) sia molto più semplice in questo caso...
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
perchè è + semplice di String s = Keyboard.readLine()???
tieni conto che col code completion ci metti meno a scrivere la seconda opzione e inoltre il codice risulta + chiaro e leggibile... vuoi mettere con uno scanf(%s, stringa) come leggibilità?
__________________
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
aspetta però... con String s = Keyboard.readLine() non hai mica finito...devi usare una StringTokenizer che ti divide le 10 100 1000 stringhe che ci sono sulla prima riga...ricordo che il bufferedreader è di circa 8000 caratteri!
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 4329
|
beh non c e solo readline
puoi leggere qualsiasi tipo di dato primitivo (dai un occhio alla documentazione), isolare cio che ti serve, matchare cio che vuoi cercare in una riga, eccetera
__________________
|18k+|slk800|a7n8x|1Gb/ddr400|Gf4mx440|Pio108|WD 160Gb|Case|Uni|Album|AnimeClick|OneManga| |ClassicThrash!|BNR Metal|TrueMetal|Dime|Chuck| |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
|
qualcuno di voi programma in linux??
sto cercando di aprire unsa semplicissima finestra JPanelOption.showMessageDialog() ** ERROR **: file ../../../src/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: line 572 (createRawData): assertion failed: (data_fid != 0) aborting... ...dnarod a quel che dici tu ho già risposto...magari quando farò un po piu di esperienza la penserò come voI!
__________________
il cucchiaio non esiste...MondoIT: recensioni, appunti di vita da nerd, virtualizzazione e altre diavolerie informatiche Linux User 414915 linux counter Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 4329
|
azz hai messo me in quel noi....io sono quasi certamente piu inesperto di te, cmq grazie per la fiducia....probabilmente pero parlo cosi di java perche lo conosco meglio
__________________
|18k+|slk800|a7n8x|1Gb/ddr400|Gf4mx440|Pio108|WD 160Gb|Case|Uni|Album|AnimeClick|OneManga| |ClassicThrash!|BNR Metal|TrueMetal|Dime|Chuck| |
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
ma ora stai parlando della tastiera o del file xml??? dalla tastiera mi pare difficile che una riga contenga 8000 caratteri.. ![]() se il file che devi leggere è un file xml ti basta usare un parser xml come xerces (ma ce ne sono molti altri) Se invece devi leggere un file del tipo chiave valore, ad esempio: heigth = 20 width = 50 basta caricartelo mediante la classe property che ti genera un hashmap da cui puoi ricavare tutto ciò che vuoi inserendo la chiave da leggere. Per un file di testo generico invece il metodo migliore e imho quello che ti ho detto prima.... carichi tutto il file in un arraylist di stringhe e usi lo stringtokenizer su ogni riga.. in questo modo anzikè effettuare ogni volta accessi al file accedi alla memoria che è MOOOLTOOO più veloce (anche se solitamente il file viene caricato in cache tramite il prefetching dal sistema operativo, ma mi sa che cmq l'accesso in memoria è + efficiente). alla fine dipende da quello ke devi fare... non c'è una soluzione generale... come diceva qualcuno "the right tool for the right job" cioè prima devi capire bene quali sono le tue esigenze e quindi potrai usare lo strumento che soddisfi meglio le tue esigenze.... cmq se mi spieghi meglio quello che devi fare forse ti posso aiutare EDIT: OT dimenticavo. DNAROD: domani pom sei precettato a casa mia per darmi una mano col refactoring di diamonds. Puoi mancare solo se è prevista la fine del mondo per domani, è già da troppo tempo ke rimandi
__________________
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:27.





















