Could you make these into one function? private ClassName function1(ClassName n) { boolean boolVar = !function2(n); final byte[] numeric1 = numeric; final byte[] numeric2 = n.numeric; final byte[] smaller, larger; final int len1 = numeric1.length; final int len2 = numeric2.length; final int maxLen; final int minLen; if (boolVar) { maxLen = len2; minLen = len1; smaller = numeric1; larger = numeric2; } else { maxLen = len1; minLen = len2; smaller = numeric2; larger = numeric1; } byte[] newArray = new byte[maxLen]; System.arraycopy(larger, 0, newArray, 0, larger.length); int carry = 0; for (int i = 0; i < minLen; i++) { int val1 = newArray[newArray.length - 1 - i]; int val2 = smaller[smaller.length - 1 - i] + carry; int res = val1 - val2; if (res < 0) { carry = 1; res += 10; } else { carry = 0; } newArray[newArray.length - 1 - i] = (byte) res; } int carryIndex = newArray.length - smaller.length - 1; while (carry == 1) { int res = newArray[carryIndex] - 1; if (res < 0) { res += 10; carry = 1; } else { carry = 0; } newArray[carryIndex] = (byte) res; carryIndex--; } boolean newNegative = negative; if (boolVar) { newNegative = !newNegative; } return new BigInteger(newArray, newNegative).trim(); } public boolean function2(ClassName n) { if (numeric.length > big.numeric.length) { return true; } else if (numeric.length < big.numeric.length) { return false; } else { int i = 0; while (i < numeric.length) { if (numeric[i] > big.numeric[i]) return true; else if (numeric[i] < big.numeric[i]) return false; i++; } return false; } }

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter2: Using Data
Section: Chapter Questions
Problem 14RQ
icon
Related questions
Question
 

Computer Science

// Java

Could you make these into one function?

private ClassName function1(ClassName n) {
boolean boolVar = !function2(n);
final byte[] numeric1 = numeric;
final byte[] numeric2 = n.numeric;
final byte[] smaller, larger;
final int len1 = numeric1.length;
final int len2 = numeric2.length;
final int maxLen;
final int minLen;
if (boolVar) {
maxLen = len2;
minLen = len1;
smaller = numeric1;
larger = numeric2;
} else {
maxLen = len1;
minLen = len2;
smaller = numeric2;
larger = numeric1;
}
byte[] newArray = new byte[maxLen];
System.arraycopy(larger, 0, newArray, 0, larger.length);
int carry = 0;
for (int i = 0; i < minLen; i++) {
int val1 = newArray[newArray.length - 1 - i];
int val2 = smaller[smaller.length - 1 - i] + carry;
int res = val1 - val2;
if (res < 0) {
carry = 1;
res += 10;
} else {
carry = 0;
}
newArray[newArray.length - 1 - i] = (byte) res;
}
int carryIndex = newArray.length - smaller.length - 1;
while (carry == 1) {
int res = newArray[carryIndex] - 1;
if (res < 0) {
res += 10;
carry = 1;
} else {
carry = 0;
}
newArray[carryIndex] = (byte) res;
carryIndex--;
}
boolean newNegative = negative;
if (boolVar) {
newNegative = !newNegative;
}
return new BigInteger(newArray, newNegative).trim();
}

public boolean function2(ClassName n) {
if (numeric.length > big.numeric.length) {
return true;
} else if (numeric.length < big.numeric.length) {
return false;
} else {
int i = 0;
while (i < numeric.length) {
if (numeric[i] > big.numeric[i])
return true;
else if (numeric[i] < big.numeric[i])
return false;
i++;
}
return false;
}
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Declaring and Defining the Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,