Odczytanie liczby i podstawy systemu liczbowego, metoda valueOf(String, int)

0

Metoda valueOf(String, int) występującą między innymi w klasie opakowującej Integer. Program odczytujący z konsoli liczbę w postaci łańcucha tekstowego oraz wielkość podstawy systemu liczbowego. Wynikiem działania programu powinna być liczba w systemie dziesiętnym. Jak na razie mam taki kod, ale po wpisaniu danych się wywala. Metody musiałem tworzyć, bo były wymagane.

import java.util.Scanner;
 
public class SystemyLiczbowe {
 
    public static void teksty(String tekst) {
        System.out.println(tekst);
    }
 
    public static int podstawaSystemuLiczbowego() {
        Scanner load = new Scanner(System.in);
        int a = load.nextInt();
        return a;
    }
 
    public static String pobierzCiagZnakow() {
        Scanner load = new Scanner(System.in);
        String b = load.nextLine();
        return b;
    }
 
    public static void main(String[] args) {
 
        teksty("Podaj łańcuch tekstowy");
        String ciag = pobierzCiagZnakow();
        teksty("Podaj podstawe systemu liczbowego");
        int podstawa = podstawaSystemuLiczbowego();
 
        teksty("Wynikiem działania programu to: "
                + Integer.valueOf(ciag, podstawa));
 
    }
}
1

Jak użytkownik nie wpisze głupot, to się program nie wywali. Jaka jest wymagana reakcja na błędne dane wejściowe?
Warto też poinformować użytkownika, że maksymalna podstawa to 36.

1

Nie odpowiadaj w komentarzach. Skoro nie ma wymaganej reakcji na błędne dane, to jak Ty chcesz reagować?

0

Okej, już mam wszystko, dziękuję za odpowiedź :)

1

Omg, to nie wiesz jakie istnieją cyfry?
''podstawa cyfry
2 0,1
3 0,1,2
...
5 0,1,2,3,4
...
10 0,1,2,3,4,5,6,7,8,9
...
16 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f''
Dalej masz prawo nie wiedzieć.
''podstawa cyfry
17 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g
18 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h
...
''
Musisz jeszcze pilnować by nie przekroczyć zakresu int, np zzzzzz jest poza zakresem (dla podstawy 36).

0

Dziękuję bardzo bogdans za odpowiedź, przepraszam za problem, jestem początkujący, no ale już zrozumiałem działanie.

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