Przesyłanie zmiennych między metodami

0

Oczywiście jest to bardzo banalny przykład ale naprawdę nwm w jaki sposób to zrobić by zadziałało ,a potrzebuje tego do bardziej rozszerzonej matematyki :3 (program ze switchami ifami itd)

package com.timkamil;

import java.util.Scanner;

public class Main {

    public static void podaj() {
        Scanner s = new Scanner(System.in);
        int a=s.nextInt(); //WPISZE 1
        int b=s.nextInt();  //WPISZE 2
        int c=s.nextInt(); //WPISZE 3
        int d=s.nextInt(); //WPISZE 4
    }

    public static void main(String[] args) {
        System.out.println("test");
        int a=0,b=0,c=0,d=0;

        podaj();
        System.out.println(a); //Ma sie pokazac 1, a pokazuje sie 0
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
    }
}
0

zmienne wewnątrz funkcji podaj() nie są dostępne spoza niej. Zrób tak by ona nie zapisywała zmiennej, a zwracała tablicę, czyli

  1. zrób tak by podaj() zwracało int[] (czyli tablicę intów).
  2. w main miej System.out.println(podaj()), od razu wyświetlisz całość.
0

Dlaczego patrzycie proceduralnie? A może trzeba obiektowo? Powołać nową klasę, w niej mieć pola a,b,c,d i metodę podaj ... itd

0

Proszę, oto wersja na poziomie pierwszego semestru studiów:


import java.util.Scanner;

public class Liczby {

    int a,b,c,d;

    public void podaj() {
        Scanner s = new Scanner(System.in);
        this.a=s.nextInt(); //WPISZE 1
        this.b=s.nextInt();  //WPISZE 2
        this.c=s.nextInt(); //WPISZE 3
        this.d=s.nextInt(); //WPISZE 4
    }

    public static void main(String[] args) {
        System.out.println("test");

        Liczby liczby = new Liczby();
        liczby.podaj();
        System.out.println(liczby.a); 
        System.out.println(liczby.b);
        System.out.println(liczby.c);
        System.out.println(liczby.d);
    }
}

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