Общее решение, которое обрабатывает несколько уровней и смешанных типов:
df.columns = ['_'.join(tuple(map(str, t))) for t in df.columns.values]
Я бы порекомендовал использовать функцию в классе А для получения входных данных один за другим. Затем из класса B выведите строку перед вызовом метода. Таким образом:
public class A {
private Scanner scan;
public A() throws FileNotFoundException {
scan = new Scanner(System.in);
}
public void getInput() {
System.out.println("Enter #");
int num = scan.nextInt();
}
}
public class B {
public B() {
A runA = new A();
for(int i=1;i<=9;i++) {
System.out.println("3");
runA.getInput();
}
}
public static void main(String[] args) {
B runB = new B();
}
}
Это должно быть то, что вы хотите.
Либо так, либо вы можете напечатать строку выше, где написано scan.nextInt();
в вашем коде.