Kap 11 øvelse 2 (Et forslag til løsning) + et spørgsmål

Her kan du diskutere opgaverne til Java serien og evt. dele dine egne løsningsforslag med andre.
Besvar
Henrik Halle
Entusiast
Entusiast
Indlæg: 38
Tilmeldt: 4. maj 2014, 09:22

Kap 11 øvelse 2 (Et forslag til løsning) + et spørgsmål

Indlæg af Henrik Halle » 9. maj 2014, 17:41

Jeg tror jeg er kommet frem til dette.

Kode: Vælg alt

public class Main2 {

	// funktioner
	
	static int gange10 (int i) {
		int y = i *10;
				
	return y;	
	}
	
	// Programudførelse
	

	public static void main(String[] args) {
		
		int result =gange10 (17);
		System.out.println(result);
Men jeg har et spørgsmål.

Først havde jeg skrevet dette

Kode: Vælg alt

public class Main2 {

	// funktioner
	
	static int gange10 (int i) {
		int y = i *10;
				System.out.println(y);
	return y;	
	}
	
	// Programudførelse
	

	public static void main(String[] args) {
		
		
		gange10(17);
		
Er det også at fange returnen eller er der noget "snyd" i det. jeg får samme resultat i consollen

seerex
Entusiast
Entusiast
Indlæg: 37
Tilmeldt: 17. apr 2014, 17:23

Re: Kap 11 øvelse 2 (Et forslag til løsning) + et spørgsmål

Indlæg af seerex » 10. maj 2014, 16:13

Jeg går ud fra at du hentyder til, at du udprinter i din funktion, istedet for at "fange" den værdi der bliver returneret.

Der er som sådan ikke noget "snyd" i det, men nej, du fanger ikke din return i den løsning hvor du udprinter i funktionen. Man kan sagtens lave sådan en funktion, men så anbefales det at du returnerer void (altså ingenting).

Selvom din funktion nemlig returnerer en int værdi, så kan du godt "være ligeglad". Værdien bliver ikke fanget af noget når du kalder gange10(17), og bliver så bare "kastet væk". Funktionen udføres stadig, men den værdi du kunne få tilbage er gået tabt. Det giver derfor ikke så meget mening at have en funktion der returnerer en int, når man egentlig laver "alt" arbejder i selve funktionen. I det tilfælde, er det nok bare at returne en int.

Besvar