Forum 5 rok kognitywistyki UAM Strona Główna
POMOC Rejestracja SzukajFAQ Zaloguj
NIFY - rozwiązanie zad. nr 2

 
Odpowiedz do tematu    Forum 5 rok kognitywistyki UAM Strona Główna » II rok - semestr zimowy [III] Zobacz poprzedni temat
Zobacz następny temat
NIFY - rozwiązanie zad. nr 2
Autor Wiadomość
ten
Piotr W.


Dołączył: 01 Gru 2006
Posty: 188
Skąd: Posen

Post NIFY - rozwiązanie zad. nr 2 Odpowiedz z cytatem
probowalem zrobic to zadanie ale cos mi nie dziala. niby wszystko jest ok i okienka sie wyswietlaja ale na koniec nie wypluwa zadnego wyniku. ktos wie z czym moze byc problem?

MAIN

import javax.swing.JOptionPane;
public class main {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

samochod skladka = new samochod();

int marka = Integer.parseInt(JOptionPane.showInputDialog("Jaki masz samochód? \n 1 - Mitsubishi \n 2 - Suzuki \n 3 - BMW"));

int wiekSamo = Integer.parseInt(JOptionPane.showInputDialog("Podaj wiek samochodu."));

int wiek = Integer.parseInt(JOptionPane.showInputDialog("Ile masz lat?"));


}
}




SKLADKA

import javax.swing.JOptionPane;
public class samochod {
double obliczSkladka(int wiekSamo, int wiek, int marka){
double temp=1.0;
int skladka = 500;
while (wiekSamo>10){
skladka+=30*(wiekSamo-10);
}
switch (marka){
case 1: skladka+=210;
case 2: skladka-=110;
case 3: skladka+=666;
default: skladka+=100000000;
}
if (wiek<25){
skladka*=1.2*skladka;
System.out.print("Wysokość składki: "+ skladka +"");
}
else System.out.print("Wysokość składki: "+ skladka +"");


return temp;
}


}
Sro Paź 10, 2007 18:12 Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email
Reklama







Sro Paź 10, 2007 18:12
omik
Kognik


Dołączył: 13 Gru 2006
Posty: 69

Post Odpowiedz z cytatem
nie masz wywolanej metody obliczSkladka(parametry) z klasy Samochod, musisz dodac wywolanie metody z parametrami w main. mi nie dziala po prostym przeklejeniu do eclipsa, wiec to tak na oko. ktos chetny na moje rozwiazanie? jak tak to wrzuce

ps. nie ma breaków w switchu, brakuje warunku o tym, ze mniej jak 25lat i skladka wynosi mniej niz 900.
Sro Paź 10, 2007 18:36 Ogląda profil użytkownika Wyślij prywatną wiadomość
ten
Piotr W.


Dołączył: 01 Gru 2006
Posty: 188
Skąd: Posen

Post Odpowiedz z cytatem
warunek ze mniej niz 25 lat jest, a o tym ze nie wiecej niz 900 zl zapomnialem rzeczywiscie. ale wlasnie jak sie wywoluje ta metode dokladnie, bo wlasnie wiedzialem ze tego mi brakuje ale nie wiem jak to sie robi... help!
Sro Paź 10, 2007 20:18 Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email
omik
Kognik


Dołączył: 13 Gru 2006
Posty: 69

Post Odpowiedz z cytatem
nazwaObiektu.nazwaMetody(parametry).

nie wiem czy to u ciebie zadziała. ja zrobiłem to tak, żeby metoda obliczSkladka zwracała (return) wartość obliczoną, a następnie w main robiłem coś takiego:

double OC = skladka(tak nazwalem klase liczaca oc).obliczSkladka(wiek, wieks, marka);
System.out.print("OC wynosi "+OC+".");

mam nadzieje że to pomoże.

moje: http://gildia.info/~omi/OC.zip (z komentarzami objaśniającymi! Very Happy)
Sro Paź 10, 2007 20:53 Ogląda profil użytkownika Wyślij prywatną wiadomość
aimila
Agnieszka M.


Dołączył: 07 Gru 2006
Posty: 341
Skąd: z JUMY;)

Post Odpowiedz z cytatem
Namieszałeś w tej pętli z wiekiem samochodu

jeżeli samochód jest starszy niż 10 lat, należy dodać 30 za każdy rok powyżej 10 [pętla]

public class Skladka {
public double obliczSkladka(int marka, int wiek, int wieks) {
double s = 500;
for(int i = 0; i<wieks; i+=10){
s+=30; }
z Twojego kodu wynika że pętla wykona sie raz nawet dla samochodu poniżej 10 lat, a potem co 10 lat będzie dodawała 30 a nie co rok, tak?

Dla samochodu 7-letniego
zerujesz i
i=0 wieks=7
0<7 wiec zaczyna sie pętla i i zwiększa sie o 10

doliczasz do składki 30 mimo iż samochód ma mniej niż 10 lat

tak interpretuję ten kod, zastrzegam sobie prawo do błedu

Mój kod na te okoliczność wygląda tak:


if(wiekauta>10){

for(int i = wiekauta-10;i>0;i--){
wartosc+=30;
Wto Paź 23, 2007 14:49 Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email
tipi tapi
Kognik


Dołączył: 10 Paź 2006
Posty: 124

Post Odpowiedz z cytatem
Popieram;)
Wto Paź 23, 2007 16:46 Ogląda profil użytkownika Wyślij prywatną wiadomość
zosia
Zosia


Dołączył: 19 Lis 2006
Posty: 187

Post Odpowiedz z cytatem
a mój jakoś tak:

while(wiekAuta>10){
wartosc+=30;
wiekAuta--;
}

ale na jedno wychodzi... Wink
Wto Paź 23, 2007 21:22 Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email
omik
Kognik


Dołączył: 13 Gru 2006
Posty: 69

Post Odpowiedz z cytatem
przyznaje się do błędu, źle przeczytałem pytanie, dzieki Smile
Wto Paź 23, 2007 22:42 Ogląda profil użytkownika Wyślij prywatną wiadomość
Reklama







Wto Paź 23, 2007 22:42
Wyświetl posty z ostatnich:    
Odpowiedz do tematu    Forum 5 rok kognitywistyki UAM Strona Główna » II rok - semestr zimowy [III] Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1
Skocz do: 
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

5 rok kognitywistyki UAM  

To forum działa w systemie phorum.pl
Masz pomysł na forum? Załóż forum za darmo!
Forum narusza regulamin? Powiadom nas o tym!
Powered by Active24, phpBB © phpBB Group
Design by Vjacheslav Trushkin / Easy Tutorials (Photoshop Tutorials)