funkcja zwracanie argumentow(java)

0

Witam

Kodujac cos sobie spotkalem sie z malym problem minowicie <ort>zaowarzylem </ort>ze funkcje w javie nie moga zwracac wiecej niz jeden element (albo nie wiem jak to zrobic)

moglby mi ktos powiedziec czy sie myle, ewentualnie jakis kodzik przykladowy ktos moglby mi skrobnac w ktorym rozwiaze ten problem zwracanie 2 argumentow :

ponizej przedstawiam moj sposob wzorujac sie na jezyku c++.(ktory o dziwo nie dziala );

class test
{
	static int fff(String d)
	{
		d="xxxxxxx";
		return 3;
	}
	
	public static void main(String agr[])
	{
		String str=new String();
		fff(str);
		
		System.out.println(str);
	}
}
0

Użyj StringBuffer i nie pisz

d = "xxxx"

tylko użyj metody replace.

0

hmmm dziwne tego w ksiazce nie podali.

no tak zadzialalo ale nie rozwiazalo w pelni mojego problemu
co z innymi obiektami np co zrobic w takiej sytuacji.

class test
{
	static int fff(double d)
	{
		d=6;
		return 3;
	}
	
	public static void main(String agr[])
	{
		double str=8;
		fff(str);
		
		System.out.println(str);
	}
}
0

Nie zrobisz, bo to nie C++ tylko Java (czytane przez niektórych jako "badziawa") i nie ma normalnych wskaźników. :P

Możesz stosować oczywiście różne tricki np. zrobić sobie klasę "enkapsulującą" jakiś Twój obiekt np. taką:

<java> class Encapsulation { public Object object; }; </java>

Wtedy przekazujesz do funkcji obiekt klasy Encapsulation, ustawiasz jedyną składową "object" na cokolwiek i po powrocie z funkcji możesz ją odczytać przy czym bez rzutowania się nie obejdzie. Dlatego lepiej jest robić funkcje które zwracają jedną wartość (w 99 przypadków na 100 więcej nie trzeba).

0

no coz znalazlem pierwszy minus w tym jezyku programowania nie dobrze nie dobrze

nic dzieki

0

Przygotuj się na więcej takich minusów... Javie brakuje jeszcze bardzo dużo do C++, choć cały czas się zbliża. Ostatnio dodali nawet "printf" [rotfl]

1 użytkowników online, w tym zalogowanych: 0, gości: 1