Pages: [1]   Go Down
Print
Author Topic: esercizio prova in itinere anno precedente  (Read 1395 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Vitocr
Matricola
*
Offline Offline

Posts: 84



« on: 17-04-2009, 17:04:07 »

ragazzi avete svolto qesta esercitazione???

Esercitazione  -- A.A. 2006-2007.

L’implementazione  deve  contenere  le  classi  con  tutti  gli  attributi e  metodi  necessari  al
corretto funzionamento. I metodi devono essere opportunamente commentati. E’ necessario
implementare una classe di test contenente il metodo main.
Sia  dato  un  file  di  stringhe  input.dat contenente  in  ogni  riga  una  stringa  di  lunghezza
variabile.


Es input.dat:
-Esame di Programmazione
-Madam non e’ in casa
-Giorno da stabilire in base agli impegni didattici


Creare un file output.dat contenente i token (parole) di ogni riga di input.dat scritte in
ordine inverso. Eliminare le righe che contengono almeno un token palindromo.

Es.output.dat:
-Programmazione di Esame
-didattici impegni agli base in stabilire da Giorno

Creare un file output2.dat contenente le righe di input.dat in ordine inverso.

Es. output2.dat:
-Giorno da stabilire in base agli impegni didattici
-Madam non e’ in casa
-Esame di Programmazione

Logged
Giuseppo
Apprendista Forumista
**
Offline Offline

Posts: 198



« Reply #1 on: 17-04-2009, 18:25:16 »

si l'ho svolto....molto interessante per capire come muoversi in file con stringhe, e fa capire bene il metodo split della classe String

Code:
import java.io.*;
public class Provainitinere{
public static void main(String[]args) throws Exception{
BufferedReader a=new BufferedReader(new FileReader("input.dat"));
BufferedWriter as=new BufferedWriter(new FileWriter("output.doc"));
String z;
for(int i=0;(z=a.readLine())!=null;i++){
String [] x;
x=z.split(" ");
String qq="";
for(int kk=x.length-1;kk>=0;kk--)
qq+=x[kk]+" ";
for(int y=0;y<x.length;y++)
if(Palindromo(x[y])) qq="";
as.write(qq+"\n");
}
a.close();
as.close();
BufferedWriter ass=new BufferedWriter(new FileWriter("output2.doc"));
String w;
BufferedReader add=new BufferedReader(new FileReader("input.dat"));
for(int h=0;(w=add.readLine())!=null;h++){
ass.write(w+"\n");}
add.close();
ass.close();
}

public static boolean Palindromo(String x){
char [] uu=x.toCharArray();
int o=uu.length-1;
for(int k=0; k<uu.length/2;k++,o--){
if(uu[k]!=uu[o]) return false;
}
return true;
}

}
Logged

I have nothing to declare except my genius.
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


File reality.sys corrupted, Reboot Universe? Y/N


« Reply #2 on: 18-04-2009, 07:27:54 »

io l'ho fatta senza lo split..che non ho mai usato credo che dovrò darci un'occhiata..
Code:
import java.io.*;
public class Test
{
public static void main (String [] args)
{
try
{
BufferedReader br=new BufferedReader(new FileReader(new File("input.dat")));
FileWriter scrivi=new FileWriter(new File("output.dat"));
Stack aux=new Stack();
Stack s=new Stack();
String str;
while((str=br.readLine())!=null)
aux.push(str);
while(aux.getTop()!=null)
s.push(aux.pop());
br.close();
while(s.getTop()!=null)
{
Stack token =new Stack();
String out=(String)s.pop();
String temp="";
boolean stop=false;
for(int i=0;i<out.length()&&!stop;i++)
{
if(out.charAt(i)!=' ')
temp+=out.charAt(i);
else
{
if(!isPalindroma(temp))
{
token.push(temp);
temp="";
}
else
stop=true;
}
}
token.push(temp);
if(!stop)
{
while(token.getTop()!=null)
{
scrivi.write((String)token.pop());
scrivi.write(" ");
}
scrivi.write("\n");
}
}
scrivi.close();
//----------------------------------------
BufferedReader br1=new BufferedReader(new FileReader(new File("input.dat")));
FileWriter scrivi2=new FileWriter(new File("output2.dat"));
String str1;
while((str1=br1.readLine())!=null)
s.push(str1);
while(s.getTop()!=null)
scrivi2.write((String)s.pop()+"\n");
scrivi2.close();
br1.close();
}
catch(FileNotFoundException e)
{
System.out.println("File non trovato");
}
catch(IOException e)
{
System.out.println("Si è generata un eccezione: "+e);
}
}
public static boolean isPalindroma(String s)
{
if(s.length()==0||s.length()==1)
return true;
boolean t = (s.charAt(0)==s.charAt(s.length()-1));
if(t&&isPalindroma(s.substring(1,s.length()-1)))
return true;
return false;
}
}

Logged

L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
Vitocr
Matricola
*
Offline Offline

Posts: 84



« Reply #3 on: 18-04-2009, 08:33:21 »

anch'io l'ho fatta come te Vivinz.........anche se ho notato adesso che è molto + semplice farla con lo split.........
Logged
Bastard_Inside
Guest
« Reply #4 on: 18-04-2009, 09:16:53 »

anch'io l'ho fatta come te Vivinz.........anche se ho notato adesso che è molto + semplice farla con lo split.........
Logged
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


File reality.sys corrupted, Reboot Universe? Y/N


« Reply #5 on: 18-04-2009, 09:18:23 »

si conoscendone l'esistenza si  è fantastico fa tutto da solo in pratica  [Emoticon] Rosik Asd ma nel compito si possono usare questi metodi o è come in prog 1?che dobbiamo fare tutto a modo nostro?
« Last Edit: 18-04-2009, 09:27:54 by Vivynz » Logged

L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
Aigor
Forumista Esperto
****
Offline Offline

Gender: Male
Posts: 1.184


"Il destino non è una catena, ma un volo."[A.B.]


« Reply #6 on: 18-04-2009, 12:40:08 »

Puoi usare tutti i metodi che ti pare... non puoi solo usare le liste implementate da Java ovviamente XD
Logged

"Era d'altronde uno di quegli uomini che amano assistere alla propria vita, ritenendo impropria qualsiasi ambizione a viverla.
Si sarà notato che essi osservano il loro destino nel modo in cui, i più, sono soliti osservare una giornata di pioggia." - Seta,Baricco
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


File reality.sys corrupted, Reboot Universe? Y/N


« Reply #7 on: 18-04-2009, 14:20:20 »

 [Emoticon] Asd bè ci mancherebbe  [Emoticon] Asd cmq bene meglio 
Logged

L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
Pages: [1]   Go Up
Print
Jump to: