Skocz do zawartości
elpresspl

Java - Problem Z Mnozeniem Liczb Niewymiernych

Rekomendowane odpowiedzi

Witam.

 

Otoz problem jest taki.

Zapisalem sie na kurs Javy, bo chcialem sie nauczyc podstaw itd.

W sobote bylem na pierwszych zajeciach, niedosc ze prowadzi je jakis Mohhamed czy Ahmed ktorego nie potrafie zrozumiec, to nie wytlumaczyl kompletnie nic i juz dostalem zadanie.

Ok wiecej konkretow.

Mam cos takiego

 

import java.util.Scanner;import java.lang.Double;public class Payroll{	public static void main(String args[])	{	Scanner input = new Scanner(System.in);		Double number1;	Double number2;	Double pay;	Double tax;		System.out.print("Enter number of hours you have worked: ");	number1 = input.nextDouble();	System.out.print("Enter your hourly rate: $");	number2 = input.nextDouble();	pay = number1 * number2;	System.out.printf("Your gross pay is $\n" ,pay);	tax = pay * 10;  	System.out.printf("Your tax is $" , tax);	}}

A w zadaniu chodzi o to ze program (jesli tak to mozna nazwac) ma obliczac place netto, place brutto i podatek. Pewnie nie bylo by z tym problemu ale nie wiem jak zmusic Jave do mnozenia liczb niewymiernych (8.5 itd.)

Wystarczyloby mi zebym tylko wiedzial co mam zmienic a z reszta to juz chyba sobie poradze.

 

Z gory dzieki

 

-el' P.-

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

8.5 nie jest liczbą niewymierną :wink: tylko rzeczywistą, czyli ze skończom częścią dziesiętną , niewymierne to takie których część dziesiętna jest nieskończona i nieokresowa, czyli np 8.58901324460485345634531054860610045578454769439, zupełny nieład.

 

Nie mam teraz javy nie nie zamieżam tego instalować, ale zmień nieco funkcje wypisującą na ekran do takiej postaci.

Mnożenie jest dobrze przeprowadzone ale jego wypis zdaje sie nie jest dobry.

 

System.out.println("Your gross pay is" + pay);

Polecane przejście do nowej linii println i normalna konkatenacja '+' , bo z tymi indentyfikatorami w printach można dostać zajoba, ( już nie wspominam tu o wybitnie nędznym zaprojektowaniu klasy IO konsoli w tym "języku" ) .

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ja to zrobilem tak:

 

import javax.swing.*;public class Payroll {    public static void main( String[] args ) {        double hours, per_hour, pay, tax;        String wejscie = JOptionPane.showInputDialog("Enter number of hours you have worked: ");        hours = Double.parseDouble(wejscie);        wejscie = JOptionPane.showInputDialog("Enter your hourly rate: $");        per_hour = Double.parseDouble(wejscie);        pay = hours * per_hour;        System.out.println("Brutto = " + pay );        tax = pay * 0.1;        System.out.println("Your tax = " + tax );        System.out.println("Netto = " + (pay-tax));            }}
Edytowane przez MeHow

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ja to zrobilem tak:

 

import javax.swing.*;public class Payroll {    public static void main( String[] args ) {        double hours, per_hour, pay, tax;        String wejscie = JOptionPane.showInputDialog("Enter number of hours you have worked: ");        hours = Double.parseDouble(wejscie);        wejscie = JOptionPane.showInputDialog("Enter your hourly rate: $");        per_hour = Double.parseDouble(wejscie);        pay = hours * per_hour;        System.out.println("Brutto = " + pay );        tax = pay * 0.1;        System.out.println("Your tax = " + tax );        System.out.println("Netto = " + (pay-tax));            }}

1644930[/snapback]

Wszystko pieknie :] Wielkie dzieki... tylko watpie ze koles mi uwierzy ze sam to zrobilem (chodzi mi o to okienko co wyskakuje zeby wpisac ilosc godzin i place). Mozna przejsc jakos na tryb tekstowy?

 

Z gory dzieki.

 

-el' P.-

Edytowane przez -el' Presidente-

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

public static void main(String args[]) {	String input = "";BufferedReader in = new BufferedReader(new InputStreamReader(System.in));	System.out.println("pisz tekst: ");  try                      {   input = in.readLine();  }                                    catch(IOException e)                {                  System.out.println(e);                 }	System.out.print("Wpisales: ");	System.out.println(input);}

Oto fragmencik wczytujący do zmiennej input znak z klawietury. I nie zapomnij dodać

import java.io.*;
na początku pliku z klasą , po pewnych przeróbkach kosmetycznych dostosujesz do swojego przykładu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...