java, obliczanie trzeciej potęgi
-
- Użytkownik
- Posty: 16
- Rejestracja: 5 lis 2008, o 13:16
- Płeć: Mężczyzna
- Lokalizacja: Olsztyn
- Podziękował: 6 razy
java, obliczanie trzeciej potęgi
witam, mam taki program do napisania w javie, a nie wiem jak się do niego zabrać.
Napisz funkcję trzecia Potega, która przyjmuje parametr typu int i zwraca wynik typu long.
Program ma czytać z klawiatury liczby podawane przez użytkownika i wyświetlać wartość odczytanej liczby oraz wynik wywołania funkcji.
W programie głównym powyższy kod umieść wewnątrz nieskończonej pętli while.
Napisz funkcję trzecia Potega, która przyjmuje parametr typu int i zwraca wynik typu long.
Program ma czytać z klawiatury liczby podawane przez użytkownika i wyświetlać wartość odczytanej liczby oraz wynik wywołania funkcji.
W programie głównym powyższy kod umieść wewnątrz nieskończonej pętli while.
Ostatnio zmieniony 20 mar 2009, o 23:34 przez luka52, łącznie zmieniany 1 raz.
Powód: Jeden wyraz na nazwę tematu to zdecydowanie za mało. Staraj się lepiej dobierać nazwy tematów, tak by lepiej wskazywały o czym może być treść zadania.
Powód: Jeden wyraz na nazwę tematu to zdecydowanie za mało. Staraj się lepiej dobierać nazwy tematów, tak by lepiej wskazywały o czym może być treść zadania.
- kadiii
- Użytkownik
- Posty: 642
- Rejestracja: 20 gru 2005, o 21:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Pomógł: 130 razy
java, obliczanie trzeciej potęgi
A czy posiadasz jakieś elementarne wiadomości na temat javy, potrafisz może napisać program typu "hello world"?
Funkcja trzecia potęga będzie mieć postać:
Reszta to już umiejętność budowy szkieletu programu, czyli podstawa podstawy. Polecam lekturę jakiegoś kursu java, choćby w internecie,
Funkcja trzecia potęga będzie mieć postać:
Kod: Zaznacz cały
long trzecia_potega(int x)
{
return x*x*x;
}
-
- Użytkownik
- Posty: 8601
- Rejestracja: 1 maja 2006, o 20:54
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 47 razy
- Pomógł: 1816 razy
java, obliczanie trzeciej potęgi
Funkcja może i zwróci typ long, ale z zakresu int.
Dlatego należy dokonać jawnego rzutowania by ominąć ten problem tj.
Dlatego należy dokonać jawnego rzutowania by ominąć ten problem tj.
Kod: Zaznacz cały
return (long)x*x*x;
-
- Użytkownik
- Posty: 735
- Rejestracja: 7 lis 2005, o 23:56
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 2 razy
- Pomógł: 133 razy
java, obliczanie trzeciej potęgi
raczej
wynik jest takiego typu jak największy z operandów
Kod: Zaznacz cały
return ((long)x*x*x);
- kadiii
- Użytkownik
- Posty: 642
- Rejestracja: 20 gru 2005, o 21:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Pomógł: 130 razy
java, obliczanie trzeciej potęgi
Jasne o ile w C++ int i long są tożsame o tyle w javie, o której pytanie, potrzeba uzycia 64 bitowego zapisu wymaga juz rzutowania. Swoją drogą zasada rozszerzania typów, którą podał spajder jest ciekawym elementem języka java.
-
- Użytkownik
- Posty: 735
- Rejestracja: 7 lis 2005, o 23:56
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 2 razy
- Pomógł: 133 razy
java, obliczanie trzeciej potęgi
je też błąd zrobilem (aż nie wiem czemu), powinno być:
po prostu x*x*x bez rzutowania da nam int. Inaczej nie można byłoby nawet zapisać:
Kod: Zaznacz cały
return (long)(x)*x*x;
Kod: Zaznacz cały
int a = 2;
int b = 2*a;
java, obliczanie trzeciej potęgi
ja to zrobiłem za pomocą klasy math:
Kod: Zaznacz cały
Scanner in = new Scanner(System.in);
int x = in.nextInt();
long y = (long) pow(x, 3);
- Dedemonn
- Użytkownik
- Posty: 689
- Rejestracja: 21 lut 2007, o 19:40
- Płeć: Mężczyzna
- Lokalizacja: Z kompa
- Podziękował: 26 razy
- Pomógł: 137 razy
java, obliczanie trzeciej potęgi
Co do pętli nieskończonej -> wypadałoby, aby ta pętla się kiedyś kończyła - np. gdy użytkownik poda jakikolwiek ciąg liter:
Chociaż sądząc po poziomie zadania domniemam, że wyjątków jeszcze nie widziałeś... także mogę powiedzieć tyle, że jeśli rzutowanie wczytanego ciągu znaków się nie powiedzie, nieskończona pętla while jest przerywana.
Pozdrawiam.
Kod: Zaznacz cały
while(true)
{
String str = in.next();
try
{
liczba = Integer.parseInt( str );
}
catch(Exception e)
{
break;
}
System.out.println( (long)liczba*liczba*liczba );
}
Pozdrawiam.