Witam mam problem z uzyskaniem wyników ujemnych z tego kodu kombinowałem na różne sposoby i w wyniku wychodzą mi "//"
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication31;
/**
*
* @author xyz
*/
public class Liczby {
public static int [] naTabInt(String liczba, int wymiar)
{
int [] tab = new int[wymiar];
int pozycja = liczba.length() - 1;
for (int i = 0; i < wymiar; i++)
{
if (pozycja < 0) tab[i] = 0;
else tab[i] = liczba.charAt(pozycja--) - 48;
}
return tab;
}
public static String odejmij(String A, String B)
{
String wynik = "";
int wymiar = Math.max(A.length(), B.length()) + 1;
int [] tA = new int[wymiar];
int [] tB = new int[wymiar];
int [] tW = new int[wymiar];
tA = naTabInt(A, wymiar);
tB = naTabInt(B, wymiar);
for (int i=0; i< wymiar; i++) tW[i] = 0;
for (int i = 0; i <wymiar - 1; i++)
{
tW[i+1] += (tW[i]+tA[i]-tB[i]+10)/10 - 1;
tW[i] = (tW[i]+tA[i]-tB[i] + 10)%10;
}
while (wymiar >1 && tW[wymiar-1]==0)wymiar--;
for (int i= wymiar; i >0; i--) wynik += (char)(tW[i-1]+48);
return wynik;
}
public static void main(String[] args) {
String A="1111", B="1";
System.out.print(A+" - "+B+" = ");
System.out.println(odejmij(A,B));
A="5";
B="6";
System.out.print(A+" - "+B+" = ");
System.out.println(odejmij(A,B));
}
}