Java tehtäviä konsoli ratkaisu5b
Mureakuha
Tehtävä:
Kirjoita metodi MassaEnergiaksi, joka ottaa esineen massan (merkitään m) parametrina ja palauttaa sen vastaavuuden energiassa Jouleina (lasketaan e=m*c*c) ja sille pääohjelma. Jos mikroaaltouunin teho on 1000 W eli se kuluttaa energiaa 1000 Joulea sekunnissa, kuinka monta vuotta laite toimisi annetulla massalla, jos kaikki energia saataisiin käyttöön? Valonnopeus c on 299792458 m/s.
import java.io.*; import java.text.*; public class MtoE { public static void main(String args[]) { double massa; DecimalFormat muotoilu = new DecimalFormat("0"); System.out.print("Anna kappaleen massa grammoina: "); try { byte bTemp[] = new byte[10]; System.in.read(bTemp); String strTemp = new String(bTemp); strTemp = strTemp.substring(0, strTemp.indexOf('\r')); massa = Double.parseDouble(strTemp); System.out.println("Massa vastaa energiassa: " + muotoilu.parse(muotoilu.format(MtoE(massa))) + " Joulea"); System.out.println("Uuni toimisi " + muotoilu.parse(muotoilu.format(MtoE(massa)/1000/(60*60*24*365))) + " vuotta"); }catch(Exception e) { System.out.println("Virhe!!"); } } public static double MtoE(double massa) { return massa*299792458*299792458/1000; } }
Tämän dokumentin kopiointi, levittäminen sekä muokkaaminen on sallittua GNU Free Documentation Licensen version 1.2 tai uudemman Free Software Foundationin julkaiseman version mukaisesti, ilman muuttumattomuuslauseketta tai kansitekstejä. Tätä koskee vastuuvapaus.
Kopio lisenssistä (englanniksi) löytyy täältä.
Kopio lisenssistä (englanniksi) löytyy täältä.
Alkuperäinen (c) Petteri Hämäläinen
