Statiska metoder division Java
Hej!
Jag har fastnat länge på denna uppgift som är en metod som skall ta in en parameter och returnera talet med 2 och har provat en del varianter bland annat return int num/2; och utskrift av både num och result jag tror att min metod första raden som är med här är rätt men jag har verkligen kört fast kan man få hjälp eller tips vart man kan läsa om ett liknande exempel för det hittar jag ej heller.
Problemet är deklarationen av metoden.
Som den står returnerar den 'void', vilket är ingenting. Du behöver returnera en 'int' istället, alltså resultatet av din division:
public static int divideByTwo(int num) {
// infoga kod för att dividera och returnera resultatet här
}
Metoder måste inte returnera ett värde och deklareras då som 'void'. Typexempel är sådana som utför en åtgärd, exempelvis skriver ut något:
public static void printMessage(String message) {
System.out.println(message);
}
Kanske ska returnera float i stället för int. Eftersom det inte står något om avrundning eller heltalsdivision så tolkar jag det som att vi vill ha ett någorlunda exakt svar.
Tack för hjälpen jag kollar på det det står ju heltal det bör inte tolkas som float?
Jag förstår inte det går åt skogen hela tiden.
Det står bara att du tar emot ett heltal. Det står inte att det måste bli ett heltal av divisionen.
Ska du type casta så behöver du sätta parentes runt typen, alltså (int).
Sen kan du inte ha kod efter en return, men det är möjligt den låter dig kompilera det ändå, även om din print aldrig kommer köras.
Vårt program och kompilering är inte bra inkl oss. Är det äns nära på att vara rätt? Kan man få tips på vart man kan läsa på om detta eller delar i koden som är fel gjort?
Alltså det är inte så avancerad programmering så tror ej vi håller på med sådant. Ehm jag blir mest förvirrad.
Din type casting är onödig, för det blir ändå heltalsdivision av det. Du behöver bara ta bort det och printen så är du klar (om vi utgår från att det inte ska bli decimaltal). Det står ju ingenstans att du ska printa något (och då vore nog kvoten mer intressant än täljaren).
Om du skriver return (int) num/2 så säger du till Java att försöka tolka svaret som ett heltal, men det gör det redan. Alltså är din (int) onödig. Jag antar att du påbörjade detta eftersom du inte kunde få till din return.
Ja troligtvis men läs testningen jag skickade bilder på och tidigare uppgifter har vi alltid printat något (Jag vet att instruktionerna är otydliga men tror ändå man skall göra det. dessutom står det (result) i sista raden som jag tror skall va med på något sätt men kanske ej spelar någon roll.
Jag fick rätt nu gjorde bara en return num/2; vi är för dåliga när vi fastnar och ett gäng amatörer till lärare som låter oss jobba hemifrån hela tiden utan handledning tack för pluggakuten!
Jag återkommer!