Inserir número

import java.util.Scanner;

class Main {

	public static void main(String[] args) {
		Scanner leitor = new Scanner(System.in);
		
		System.out.println("Escolha uma das opções: ");
		System.out.println("1. Converter de binário para decimal;");
		System.out.println("2. Converter de decimal para binário.");
		int opcao = leitor.nextInt();
		
		if (opcao <= 1) {
			System.out.println("Informe um número em binário: ");
			String binario = leitor.nextLine();
			int decimal = 0;
			int tamanho = binario.length();
			int potencia = 1;
			
			for (int i = tamanho-1; i >= 0; i--) {
				if (binario.charAt(i) == '1') {
					decimal = decimal + potencia;
				}
				
				potencia = potencia * 2;
			}
			
			System.out.println("O número " + binario + "em decimal é: " + decimal);
		}
	}
}

Meu código tá dando erro na parte de informar o número em binário, ele não deixa inserir o número e já pula o código todo e diz que decimal é 0. O que devo fazer?

Ao ler do teclado deves usar sempre o nextLine() e não o nextInt().
Isto porque tu ao introduzires o valor de opção clicas num número e em enter. Mas o nextInt() apenas lê o número e deixa o enter, que é lido depois imediatamente pelo nextLine() sem necessitar que introduzas mais nenhum texto.

Ou então tens de usar sempre um nextLine() que ignoras o resultado depois de usar o nextInt(), para ler o enter perdido.

int opcao = leitor.nextInt();
leitor.nextLine(); // le enter do nextInt acima

if (opcao <= 1) {
     ....