Pages: 1 2 3 [4]   Go Down
Print
Author Topic: gara - quesito 2  (Read 6925 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
callo
Forumista
***
Offline Offline

Gender: Male
Posts: 564


"Quanto manca alla vetta?";"Tu sali e non pensare"


« Reply #45 on: 11-04-2011, 00:45:34 »

Io per impostare i due valori dopo la virgola ho usato:
Code:
DecimalFormat df = new DecimalFormat("0.00", new DecimalFormatSymbols(Locale.ITALIAN));
return area + " " +df.format(pstot)+"Kg";
ho trovato QUI la spiegazione!!
Logged

"A cavallina....a cavallina.....a chi era bedda quannu  curreva" [Cit.  Dal Tenerissimo via plebiscito]
R3m
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 486



« Reply #46 on: 11-04-2011, 07:26:43 »

@soeca
No, secondo me sono entrambi corretti  yoh probabilmente hai usato un file di tipo windows..il mio funziona solo con file di testo unix...quindi ogni a-capo deve essere del tipo "\n" e non"\r\n"
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.
fabryxio
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 343

Chi l'ha duro....... l'ha duro!


WWW
« Reply #47 on: 11-04-2011, 08:37:36 »

l'avevo visto anke io , ma ho preferito l'altra =)
Logged

R3m
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 486



« Reply #48 on: 11-04-2011, 09:02:20 »

Qui c'è la mia:
Code:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.BufferedWriter;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;


public class SS7_003411 {
private static int b,h; //Dimensioni di ogni strato della piramide mentre alt rappresenta l'altezza complessiva della piramide
private static double peso;

public static int getBase()
{
return b;
}
public static int getAltezza()
{
return h;
}
public static double getPeso()
{
return peso;
}
public static void setBase(int bb)
{
b=bb;
}
public static void setAltezza(int hh)
{
h=hh;
}
public static void setPeso(double peso1)
{
peso=peso1;
}




public static String calcola(int h,int k,double ps)
{
int area=0;
double pstot=0;
if(k >= h)
{

area=(((h*(h+1)*((2*h)+1))/6))+((k-h)*((h*(h+1))/2));
pstot=h*(h+1)*( (ps+k-h-1)*(2*h+1)/6 + h*(h+1)/4 + (ps-1)*(k-h)/2);
}
else
{
area=(((k*(k+1)*((2*k)+1))/6))+((h-k)*((k*(k+1))/2));  //Calcolo il numero di mattoni complessivo
pstot=k*(k+1)*( (ps+h-k-1)*(2*k+1)/6 + k*(k+1)/4 + (ps-1)*(h-k)/2); //Calcolo il peso totale
}
DecimalFormat df = new DecimalFormat("0.00", new DecimalFormatSymbols(Locale.ITALIAN));
return area + " " +df.format(pstot)+"Kg";

}
public  static void LeggiFile(String nome) throws IOException
{
FileReader input = null;
FileWriter output = null;
BufferedReader in = null;
BufferedWriter out= null;
try
{
input=new FileReader("input.txt");
in=new BufferedReader(input);
output=new FileWriter("SS7_003411.txt");
out=new BufferedWriter(output);
String str="";

while((str=in.readLine())!=null)//Fino a quando non arrivo a fine file
{
out.write(doit(str));
out.newLine();
}
}
finally
{
in.close();
input.close();
out.close();
output.close();

System.out.println("***   DONE   ***");
}

}
public static String doit(String s)
{
      String [] temp = s.replaceAll("kg", "").split(" ");//Sostituisco la parola Kg con uno spazio e successivamente elimino gli spazi
      return dump(temp);
}
public static String dump(String []s)
{
setBase(Integer.parseInt(s[0]));
setAltezza(Integer.parseInt(s[1]));
setPeso(Double.parseDouble(s[2]));

return calcola(getBase(),getAltezza(),getPeso());
}
public static void main(String arg[])throws IOException
{
LeggiFile("input.txt");
}
}

R3m hai controllato che l'output fosse corretto???Perchè uno di noi due ha sbagliato sicuro!! yoh yoh yoh yoh

EDIT: Guarda che a me il tuo codice da questo risultato(utilizzando l'esempio che da il prof nel pdf!):
Code:

133 10640,56Kg
0 0,00Kg
0 0,00Kg
0 0,00Kg
0 0,00Kg
0 0,00Kg
0 0,00Kg
0 0,00Kg
0 0,00Kg
0 0,00Kg

C'è un errore nel tuo codice....tu usi un double per calcolare il peso...però forse non sapevi che le operazioni elementari con i double danno risultati non corretti (tipo numeri con x,000000000000001 invece che x) difatti il tuo output risulta (nel peso) leggermente sballato, ma è questione di poco...
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.
zElOtO
Forumista
***
Offline Offline

Gender: Male
Posts: 845



WWW
« Reply #49 on: 11-04-2011, 10:38:09 »

Questa è la mia soluzione  pc
Logged

I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. Insieme sono una potenza che supera l'immaginazione. (A. Einstein)

Damiano Cancemi
www.damianocancemi.com
www.nerdbren.com
www.nerdbren.com/blog
Pages: 1 2 3 [4]   Go Up
Print
Jump to: