Zmienne o tej samej nazwie, ale różnym liczniku bez tabeli i wyciągniecie znaku do działania matematycznego

0

Witam
mam dwa proste pytania. Mianowicie czy da się zrobić coś takiego zamiast tabeli:

int liczba;
int i;
for (i=1; i<=5; i++){
    System.out.print(liczbai);
}

wiem, ze za pewne dużo bardziej poprawnie jest użycie tabeli ale pytam z ciekawości.
Druga sprawa czy jest opcja by jakoś to zadziałało, bez użycia switcha:

Scanner wczytanie = new Scanner(System.in);
System.out.print("Podaj pierwsza liczbe calkowita ");
int pierwsza = wczytanie.nextInt();
System.out.print("Podaj druga liczbe calkowita ");
int druga = wczytanie.nextInt();
System.out.print("dodawanie(+) czy odejmowanie(-) ");
char znak = wczytanie.next().charAt(0);
int wynik= pierwsza znak druga;
System.out.print("Wynik to :" +wynik);
0

Zamiast jakiej tabeli i co takiego chcesz zrobić? Co ma zadziałać bez switcha? Przecież tam nawet nie ma żadnego switcha.

0

W obu przypadkach chciałbym aby coś takiego działało. W przypadku pierwszej opcji z tabela wyglądało by to tak:

int[] liczba = new int[5];
int i;
for (i=0; i<=4; i++){
     System.out.print(liczba[i]);
}

w przypadku drugiego pytania z switchem by to wyglądało tak:

Scanner wczytanie = new Scanner(System.in);
System.out.print("Podaj pierwsza liczbe calkowita ");
int pierwsza = wczytanie.nextInt();
System.out.print("Podaj druga liczbe calkowita ");
int druga = wczytanie.nextInt();
System.out.print("dodawanie(+) czy odejmowanie(-) ");
char znak = wczytanie.next().charAt(0);
switch (znak){
            case '+':
                System.out.println("Wynik to: " + (pierwsza+druga));
            break;
            case '-':
                System.out.println("Wynik to: " + (pierwsza-druga));
            break;
            case '*':
                System.out.println("Wynik to: " + (pierwsza*druga));
            break;
            case '/':
                if(druga!=0){
                System.out.println("Wynik to: " + (pierwsza/druga));                    
                }
                else{
                    System.out.println("Nie dziel przez 0!");   
                }
            break;
            default:
            System.out.println("Zły znak");
}
0

Formatowanie nie boli a zajmuje ~10 sekund...

    int[] liczba = new int[5];
    int i;
    for (i=0; i<=4; i++){
        System.out.print(liczba[i]);
    }

w przypadku drugiego pytania z switchem by to wyglądało tak:

        Scanner wczytanie = new Scanner(System.in);
        System.out.print("Podaj pierwsza liczbe calkowita ");
        int pierwsza = wczytanie.nextInt();
        System.out.print("Podaj druga liczbe calkowita ");
        int druga = wczytanie.nextInt();
        System.out.print("dodawanie(+) czy odejmowanie(-) ");
        char znak = wczytanie.next().charAt(0);
        switch (znak) {
            case '+':
                System.out.println("Wynik to: " + (pierwsza + druga));
                break;
            case '-':
                System.out.println("Wynik to: " + (pierwsza - druga));
                break;
            case '':
                System.out.println("Wynik to: " + (pierwszadruga));
                break;
            case '/':
                if (druga != 0) {
                    System.out.println("Wynik to: " + (pierwsza / druga));
                } else {
                    System.out.println("Nie dziel przez 0!");
                }
                break;
            default:
                System.out.println("Zły znak");
        }
0

Wybacz nie ogarniam jak na tym portalu sie robi formatowanie

0

Nie jestem specjalistą od Javy, ale wydaje mi się, że wiem, co chcesz zrobić, więc może uściślę dla innych. W pierwszym wypadku chcesz, by zmienna zyskała "indeks" w jakiś sposób bez użycia tablicy (wskaźniki? Raczej nie w Javie). W drugim chcesz, by program (kompilator? JVM?) sam rozpoznał, z jakim działaniem ma do czynienia, i niejako automatycznie zamienił wpisany znak z klawiatury na operator (+, *, -, /). Sądzę, że są języki, w których dałoby się zrobić przynajmniej drugą rzecz (a jak nie ma, chyba można by wymyślić), ale tak czy siak ani dla jednej, ani dla drugiej nie widzę możliwości w Javie (o ile ją znam).

0

Z pierwszym się zgadzam, a z drugim to bardziej chodzi by zmienna znak zamienił na jej wartość i użył w działaniu matematycznym

0

Zawsze jak chcesz możesz użyć "if, if else" jak nie chcesz switch. Do switch dodałbym enum aby użytkownik nie mógł użyć operatora spoza wyznaczonego "zbioru".

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