Witam, dopiero co raczkuje w javie, chciałem zrobić konwenter systemów liczbowych, jednakże utknąłem w momencie w którym chcę wywołać z klasy DecToAll metodę convert1. Próbowałem jakoś tworząc obiekt w case 1 - 2 i potem ją wywołać, ale to nie działa i raczej nie tędy droga. Byłbym wdzięczny za pomoc.
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Welcome into number system conventer!");
System.out.println("1. Decimal");
System.out.println("2. Binary");
System.out.println("3. Hexadecimal");
System.out.print("What system you want convert to?: ");
int pick_sys = input.nextInt();
System.out.print("Write a number: ");
int number1 = input.nextInt();
System.out.print("Into which system?: ");
int pick_sys2 = input.nextInt();
Choice ch = new Choice();
DecToAll d1 = new DecToAll();
ch.setSys(pick_sys, pick_sys2,number1);
d1.setSys(pick_sys, pick_sys2,number1);
}
}
class Choice{
protected int pick_sys, pick_sys2, number;
public void setSys(int sys1, int sys2, int number) {
this.pick_sys = sys1;
this.pick_sys2 = sys2;
this.number = number;
}
public void whatSystem() {
switch (pick_sys) {
case 1:
switch (pick_sys2) {
case 2:
// DecToAll deci = new DecToAll();
// deci.convert1();
// nie dziala
break;
case 3:
break;
}
break;
case 2:
switch (pick_sys2) {
case 1:
break;
case 3:
break;
}
break;
case 3:
switch (pick_sys2) {
case 1:
break;
case 2:
break;
}
break;
}
}
}
class DecToAll extends Choice{
private int remainder=0;
int i=0;
private int [] bin_num = new int[100];
public void setSys(int sys1, int sys2, int number) {
this.pick_sys = sys1;
this.pick_sys2 = sys2;
this.number = number;
}
public void convert1(){
System.out.println(number);
while(number !=0){
bin_num[i] = number % 2;
number /= 2;
i++;
}
System.out.println(bin_num[0] + bin_num[1] + bin_num[2] + bin_num[3]);
System.out.println("After conversion:");
for(int j= i-1; j>=0; j--)
System.out.print(bin_num[j] + " ");
}
}