Если вы используете args
, переданный IBANChecker03.main
в качестве массива строк для проверки, вы можете легко вызвать его с массивом строк из HomeOffice
, например:
public class IBANChecker03 {
public static void main(String[] args) {
String[] ibans = args;
for(String iban : ibans){
System.out.printf("%s is %s.%n", iban, validateIBAN(iban) ? "valid" : "not valid");
}
}
static boolean validateIBAN(String iban){
// validation code
}
}
public class HomeOffice {
public static void main(String[] args) {
String[] vals = new String[]{"5616516", "8984546", "6516546", "9684654"};
IBANChecker03.main(vals);
}
}
Однако В предоставленном вами коде вы перебираете каждую ячейку и указали, что вы хотите sh передать значение отдельной ячейки IBANChecker03
. Это значение:
String cellvalue = cell.toString();
Вы можете справиться с этим несколькими способами. Вы можете упаковать значение ячейки в массив и передать его:
String[] cellvalue = new String[]{cell.toString()};
IBANChecker03.main(cellValue);
Вы можете сделать validateIBAN
publi c, или, если эти классы находятся в одном пакете, вы можете просто вызвать его напрямую так как методы по умолчанию являются пакетными:
String cellvalue = cell.toString();
if(IBANChecker03.validateIBAN(cellvalue)){
//Do Something
}
Если вас действительно интересует наличие IBANChecker03
проверки и печати для одной ячейки, но вам нужен метод main
для тестирования или что бы то ни было, просто переместите эту логику c из main
примерно так:
public class IBANChecker03 {
public static void printValid(String iban){
System.out.printf("%s is %s.%n", iban, validateIBAN(iban) ? "valid" : "not valid");
}
public static void main(String[] args) {
String[] ibans = {"IBAN goes here"};
for(String iban : ibans){
printValid(iban);
}
}
static boolean validateIBAN(String iban){
//Validation code
}
}
public class HomeOffice {
public static void main(String[] args) {
//Code to get cell
String cellvalue = cell.toString();
IBANChecker03.printValid(cellvalue);
}
}