Quebra de linha após entrada do teclado

Como eu faço para que não haja a quebra de linha após a entrada do teclado?

Segue o código:

import java.util.Scanner;

public class TabuadaTest {
	public static void main(String args[]) {

		Tabuada minhaTabuada = new Tabuada();
		int n1, n2, sinal = 0;
		Scanner input = new Scanner( System.in );
		String[][] selection = {
						{"somar","+"},
						{"subtrair","-"},
						{"multiplicar","x"},
						{"dividir","/"} };
											
			System.out.println("Ola, bem vindo a Tabuada do Java!");
			System.out.println("Escolha a operacao: ");
			System.out.println("0 -> Adicao;");
			System.out.println("1 -> Subtracao;");
			System.out.println("2 -> Multiplicacao;");
			System.out.println("3 -> Divisao;");
			
			do {
				if (sinal < 0 || sinal > 3)
				System.out.println("Opcao invalida, tente novamente!");
				sinal = input.nextInt();
				} while(sinal < 0 || sinal > 3);
			System.out.println("Quais numeros deseja "+selection[sinal][0]+"?");
			n1 = input.nextInt();
			System.out.print("\b");
			System.out.print(selection[sinal][1]);
			n2 = input.nextInt();
			System.out.print("\b");
			minhaTabuada.tabuada(n1,n2,sinal);
	}
}
public class Tabuada {	
	public void tabuada(int a, int b, int signal) {
		switch(signal) {
			case 0:
			System.out.println(" = "+(a+b));
			break;
			case 1:
			System.out.println(" = "+(a-b));
			break;
			case 2:
			System.out.println(" = "+(a*b));
			break;
			case 3:
			System.out.println(" = "+(a/b)+" e resta "+(a%b));
			break;
			}
		}
	}

Por exemplo, se eu escolher a opção para multiplicar e entrar com os números 5 e 8, tenho a seguinte saída:

Ola, bem vindo a Tabuada do Java!
Escolha a operacao:
0 -> Adicao;
1 -> Subtracao;
2 -> Multiplicacao;
3 -> Divisao;
2
Quais numeros deseja multiplicar?
[color=red]5
x8
= 40[/color]

Mas quero a seguinte:

Ola, bem vindo a Tabuada do Java!
Escolha a operacao:
0 -> Adicao;
1 -> Subtracao;
2 -> Multiplicacao;
3 -> Divisao;
2
Quais numeros deseja multiplicar?
[color=red]5x8 = 40[/color]

Valeu