private static char[] multiply(char[] number1, char[] number2, boolean minus) {
		char[] result = new char[] {'0'};
		char[] reversedNumber1 = reverse(number1);
		char[] reversedNumber2 = reverse(number2);
		
		for(int i=0;i<reversedNumber2.length;i++) {
			int num2 = reversedNumber2[i] - '0';
			int carry = 0;
			char[] tmpMultiResult = new char[reversedNumber1.length+1+i];
			int j = 0;
			while(j<i) {
				tmpMultiResult[j++] = '0';
			}
			for(j=0;j<reversedNumber1.length;j++) {
				int num1 = reversedNumber1[j] - '0';
				int tmpResult = num1*num2+carry;
				if(tmpResult>=10) {
					carry = tmpResult/10;
					tmpResult = tmpResult%10;
				} else {
					carry = 0;
				}
				tmpMultiResult[j+i] = Integer.toString(tmpResult).charAt(0);
			}
			if(carry > 0) {
				tmpMultiResult[j+i] = Integer.toString(carry).charAt(0);;
			}
			
			result = Add.addInterface(result, reverse(tmpMultiResult));
		}
		
		if(result.length==1&&result[0]=='0') {
			return result;
		}
		
		return removeFrontZero(result, minus);
	}