JAva

Quando eu uso != sempre reclama.
Como posso comparar as seguintes strings:

        String nome, senha; 
        switch (y) {
            case 1:
                do  
                    {
                    System.out.println("NOME DE USUARIO: ");
                    nome = c.nextLine();
                    System.out.println("SENHA:");
                    senha = c.nextLine();
                    }
     AQUI >>>>>while ((nome != j.getNome()) && (senha != j.getSenha()));

String é diferente de inteiro, float, double, para comparar você tem que usar classes já presentes na String.
Voce pode usar nome.equals(j.getNome)//O equals só pega se for exatamente igual, exemplo: se o nome é Heitor, ele não aceita heitor, nem HEITOR,etc
Você também pode usar nome.equalsIgnoreCase(j.getNome)//Esse ignora a caixa alta e para ele Heitor, heitor e HEITOR são iguais, para fazer a negação, ou seja diferente é só colocar o ! antes do nome.

Ao comparar tipos não primitivos, o == ou != comparam a referência e não o conteúdo.

Utilize assim:

do {
    // codigo...
} while (!nome.equals(j.getNome()) && !senha.equals(j.getSenha()));

vlw mano