Wpis z mikrobloga

Pytanie odnośnie poniższego kodu:

public static int[] findDividers(int[] dividers){
Scanner scanner = new Scanner(System.in);

int x = scanner.nextInt();
for(int j=1; j<= x/2 ; j++)
{
if(x % j == 0)
{
dividers[j] = j;
}

}
return dividers;

Jak wyświetlić tabele dividers w main class? #java #programowanie
  • 12
@Demolicjon: powiedzmy ze studia. Celem jest napisanie funkcji, która dla zadanej liczby x sprawdza które z liczby do max. x/2 jest dzielnikiem tej liczby. Dzielniki należy zapisać w tabeli. Problemem jest zastosowanie tutaj scannera, tzn. nie wiem jak wywołać zwracaną w funkcji tabelę dzielników, jeśli pierw muszę wprowadzić w ogole jakaś liczbę do analizy.
@watchtek:

powiedzmy ze studia.


Strzelam: kurs programistyczny? Dość charakterystyczny typ zadania, sposób rozwiązywania i problemy/pytania.

Celem jest napisanie funkcji, która dla zadanej liczby x sprawdza które z liczby do max. x/2 jest dzielnikiem tej liczby. Dzielniki należy zapisać w tabeli


Masz gdzieś też zapisać ile jest tych dzielników? Bo podejście dividers[j] = j zrobi Ci masakrę dla dużych liczb i generalnie tak się tego raczej nie robi. Generalnie to napisz jak
@Demolicjon: studia podyplomowe ;)
Funkcja którą próbuje tutaj stworzyć jest jedną z czterech, jakie mają się znaleźć w tym programie. Sam program ma na celu wczytać liczbę (powiedzmy x) i wypisać jej dzielniki w zakresie od 1 do . x/2.
Poza ww. funkcją, ma być jeszcze:
1. funkcja wczytująca liczbę naturlaną i zwracająca ją.
2. Funkcja sprawdzająca czy liczba a dzieli się przez liczbę b.
3.funkcja wypisująca wszystkie znalezione dzielniki.
Z
@watchtek: Nie rozumiem zbytnio, ale: https://pastebin.com/M7NbeBys

Tzn. to wg podanej specyfikacji, to podejście jest błędne, bo wypisze duzo nulli, no ale jak tablica to tablica. Zakładam, że miałeś problem z uzyskaniem "dostępu" do tej rablicy w funkcji main, zobacz w jaki sposób to zrobiłem. Twoja funkcja coś zwraca, nie jest konsumerem typu void tylko ma typ. I teraz jeśli utworzysz obiekt, możesz go zainicjalizować właśnie obiektem zwracanym z tej funkcji. Podstawy
@watchtek: a coś takiego: stwórz jedną metodę do pobierania liczby skanerem, osobne metody do tych funkcji zadanych; dla tych dzielników utwórz listę czy seta dodaj znalezione dzielniki i wynik przerób na zwracaną tablicę
@watchtek:

3.funkcja wypisująca wszystkie znalezione dzielniki.

Musisz najpierw zapisać te dzielniki do tablicy, czy możesz od razu pisać na wyjście? Bo jeśli masz je po prostu wypisać, to całe kombinowanie z tablicą jest bez sensu i na wyrost. Chyba, że to takie ćwiczenie dla Ciebie ma być, to z grubsza co wkleił @Przegrywek123 będzie działać, tylko że:
- żeżre od czapy pamięci, nawet jeśli dzielników jest mało (np. liczba 10^9+7);
-