x-kom hosting

Java - pomoc w zadaniu

Derkar
utworzono
utworzono

Witam, chciałbym prosić o pomoc w rozwiązaniu tego zadania. Najbardziej zależy mi na wyświetleniu wyników w tablicy HTML. Dziękuje i pozdrawiam

	/*
	Stwórz tabelę HTML zawierającą wartość silni dla 20 pierwszych liczb naturalnych (wartości mają być liczone w JS)
	Format tabeli - kolor szary, tekst wyśrodkowany
	*/
	
	/*
							|-------------|-------------|
							|      N      | Silnia      |
							|-------------|-------------|
							|      0      |      1      |
							|-------------|-------------|
							|      1      |      1      |
							|-------------|-------------|
							|      2      |      2      |
							|-------------|-------------|
	*/				

 

Gość
komentarz
komentarz (edytowane)

Pierwsza rzecz. To nie jest JAVA!!! !!! !!! !!! !!! (ile bym nie dał wykrzykników to za mało).
Javascript ma wspólnego z Java tylko nazwę.

 

Wyświetlić możesz za pomocą kilkunastu sposobów.
Najbardziej efektywnym będzie jednak za pomocą Jquery, co nie zmienia faktu, że czyste JS też to zrobi.

(Materiał będzie edytowany).

 

EDIT:
Nie wiem czy masz relatywny czy wewnętrzny arkusz stylów.

#wyniki jest to id dla głównej tabeli gdzie będziemy wyświetlać wyniki,
zaś td to kolumna w tabeli.
Całość na szaro + delikatna ramka. dodałem większe marginesy, aby treść się nie zlewała. Jeżeli jej nie chcesz, to skasuj tło w TD.


HEAD:

        #wyniki
        {
            background: grey;
            text-align: center;
        }
        #wyniki td
        {
            background: #aaa;
            padding-left: 10px;
            padding-right: 10px;
        }

 

 

Do funkcji wylicz możesz wpisać dowolną wartość dla której ma być liczona.

Niżej znajduje się tabela wraz z pierwszym wierszem i kolumnami.

BODY:
 

<body onload="Wylicz(20)">
    <table id="wyniki">
        <tr>
            <td>n</td><td>Silnia</td>
        </tr>
    </table>

SKRYPT:

 

Wpierw zadeklarowałem język skryptu i kodowanie polskie (utf-8).
Funkcja Wylicz jest wywoływana gdy strona się uruchomi, ta odbiera przekazaną przez nas wartość w postaci zmiennej "dlugosc_ciagu".
Dalej deklaruję wynik który dla wartości 1, jest równy jeden.
Później masz pętlę warunkową for. utworzyłem zmienną pomocniczą "i", zaś pętla jest powtarzana tak wiele razy, jak długi jest ciąg.

if(i==0), odpowiada za wynik =1 dla silni 0. Jeżeli i nie jest równie 0, wówczas wynik = wynik*1.  

Wyświetlanie wyniku odbywa się za pomocą nadpisania elementu wyniki (tabela).
document.getElementByID, służy do pobrania wartości danego elementu o id podanym w nawiasie.
.innerHTML += nadpisuje wartość tego elementu o 2 kolumny i jeden wiersz. W 1 kolumnie jest silnia, w drugiej wynik silni.

Funkcję możesz wywoływać wielokrotnie i wywoływać z różnymi wartościami - chociażby przez <a href ="#" onclick="Pobierz()">Nowa Silnia</a>, w funkcji Pobierz() , pobierasz długość silni za pomocą"prompt". Sprawdzasz za pomocą if-ów, czy wartość pobrana jest cyfrą i nie jest pusta. Jeżeli jest nie właściwia - wyświetl komunikat. Jeżeli jest właściwa , wywołaj Wylicz(wartośc z prompt).

	<script type="text/javascript" char="utf-8">
	function Wylicz(dlugosc_ciagu)
	{
		var wynik = 1;
		for(var i=0; i <= dlugosc_ciagu; i++)
		{
			if (i == 0){wynik = 1}else
			{
				wynik *= i;
			}
			document.getElementById('wyniki').innerHTML += '<tr><td>'+i+'</td><td>'+wynik+'</td></tr>';
		}
	}
	</script>



Całość dałoby się zrobić za pomocą document.write, lecz ta metoda jest bardzo stara i implikuje wiele problemów.
Można zrobić jeszcze za pomocą Appnedchild:
http://www.w3schools.com/jsref/met_node_appendchild.asp

Bądź implementując Jquery za pomocą append:
http://api.jquery.com/append/

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.