Alguem ai sabe como faço a diferença entre strings?
while (dados[a][2].equals("0"));
quero que enquanto dados[a][2] for diferente de “0” o comando while seja executado…
Alguem ai sabe como faço a diferença entre strings?
while (dados[a][2].equals("0"));
quero que enquanto dados[a][2] for diferente de “0” o comando while seja executado…
while (!dados[a][2].equals("0"));
soh colocar
while (!dados[a][2].equals(“0”));
package escrevanome;
import javax.swing.JOptionPane;// abrindo a pacote javax.swing
public class Main {
public static void main(String[] args) {
String dados[][] = new String[100][3];
int a=0;
do{
for (int i=1;i !=4;i++){
if (i == 1)
dados[a][0] = JOptionPane.showInputDialog("Digite o código da empresa: ");
if (i == 2)
dados[a][1] = JOptionPane.showInputDialog("Digite o número de funcionários: ");
if (i == 3)
dados[a][2] =JOptionPane.showInputDialog("Digite o porte da empresa: (P, M ou G)");
}
a = a+1;
}
while (!dados[a][2].equals("0"));
}
}
Ta dando erro em: "while (!dados[a][2].equals("0"));" pq?
while (!dados[a][2].equals("0"));
}
while (!dados[a][2].equals("0")){
}
erradoCERTOcertowhile (!dados[a][2].equals("0")); }while (!dados[a][2].equals("0")){ }
while (!dados[a][2].equals("0"));
Tá desse jeito no programa e nao mostra erro.. (só ao executar)
}
ERRADO
while (!dados[a][2].equals("0")){
}
Se eu mudar pra isso dá erro sem executar...
Oi,
Qual o erro que aparece ?
Tchauzin!
Oi,Qual o erro que aparece ?
Tchauzin!
Exception in thread “main” java.lang.NullPointerException
at escrevanome.Main.main(Main.java:31)
Java Result: 1
a linha 31 é essa: while (!dados[a][2].equals(“0”));
Deixe seu código assim:
package escrevanome;
import javax.swing.JOptionPane;// abrindo a pacote javax.swing
public class Main {
public static void main(String[] args) {
String dados[][] = new String[100][3];
int a=0;
do{
for (int i=1;i !=4;i++){
if (i == 1)
dados[a][0] = JOptionPane.showInputDialog("Digite o código da empresa: ");
if (i == 2)
dados[a][1] = JOptionPane.showInputDialog("Digite o número de funcionários: ");
if (i == 3)
dados[a][2] =JOptionPane.showInputDialog("Digite o porte da empresa: (P, M ou G)");
}
a = a+1;
while (!dados[a][2].equals("0")){
// faz algo no loop while
}
}
}
o while tem que ficar dentro do método, por isso, estava dando erro
CERTOwhile (!dados[a][2].equals("0")); Tá desse jeito no programa e nao mostra erro.. (só ao executar) }
Tiago, você sabe o que esse código faz? Nada.
Aliás ou o ele nunca vai executar, ou ele vai entrar um loop infinito, e a única salvação p/ este ultima caso é se uma outra thread modificar a String dentro de dados[a][2].
CERTOwhile (!dados[a][2].equals("0")); Tá desse jeito no programa e nao mostra erro.. (só ao executar) }Tiago, você sabe o que esse código faz? Nada.
Aliás ou o ele nunca vai executar, ou ele vai entrar um loop infinito, e a única salvação p/ este ultima caso é se uma outra thread modificar a String dentro de dados[a][2].
3.Uma agência de publicidade quer prestar seus serviços somente para as maiores companhias, em número de funcionários, em cada um das classificações: Grande, Média e Pequena. Escreva um programa que leia um conjunto de dados que representam o código, o número de funcionários e o porte da empresa (G, M ou P) e imprima: O código de cada empresa com maiores recursos humanos dentro de cada categoria. Utilizar como finalizador o código de empresa igual a 0 (zero).
Sugestão: faça um método para ler os dados e armazenar em um vetor, outro para percorrer o vetor e contar o nro de funcionários em armazenar em G, M e P, outro método para imprimir os resultados.
Entendeu o pq dessa condição igual a zero?
Para evitar NullPointerException:
while (!"0".equals(dados[a][2])) {
}
CERTOwhile (!dados[a][2].equals("0")); Tá desse jeito no programa e nao mostra erro.. (só ao executar) }ERRADO
while (!dados[a][2].equals("0")){ }Se eu mudar pra isso dá erro sem executar...
se vc colocar ";" no final do while ele vai executar uma sentença nula (ou seja, nada), e não o que vc pretende que ele execute...
erradoCERTOcertowhile (!dados[a][2].equals("0")); }while (!dados[a][2].equals("0")){ }
while (!dados[a][2].equals("0"));
Tá desse jeito no programa e nao mostra erro.. (só ao executar)
}
ERRADO
while (!dados[a][2].equals("0")){
}
Errado. Se você colocar um ; depois do seu while, você está dizendo para o Java que seu while não possui nenhum comando. O certo é com as chaves mesmo. Com as chaves vc diz: "Ei, repita tudo o que está dentro das chaves, ok, java querido?"
Se você está tendo erro, com certeza não é por causa dessas chaves, mas é por conta do seu código mesmo.
Oi,
Na realidade a posição da matriz [][2] está nulla.
Tchauzin!
Errado. Se você colocar um ; depois do seu while, você está dizendo para o Java que seu while não possui nenhum comando. O certo é com as chaves mesmo. Com as chaves vc diz: “Ei, repita tudo o que está dentro das chaves, ok, java querido?”
Completando…
Se voce não colocar as chaves depois do while voce esta dizendo ao java: “Ei, repete só a próxima linha, tudo bem?”
erradoCERTOcertowhile (!dados[a][2].equals("0")); }while (!dados[a][2].equals("0")){ }while (!dados[a][2].equals("0")); Tá desse jeito no programa e nao mostra erro.. (só ao executar) }ERRADO
while (!dados[a][2].equals("0")){ }Errado. Se você colocar um ; depois do seu while, você está dizendo para o Java que seu while não possui nenhum comando. O certo é com as chaves mesmo. Com as chaves vc diz: "Ei, repita tudo o que está dentro das chaves, ok, java querido?"
Se você está tendo erro, com certeza não é por causa dessas chaves, mas é por conta do seu código mesmo.
mas a parada não é um do while?
do{ for (int i=1;i !=4;i++){ if (i == 1) dados[a][0] = JOptionPane.showInputDialog("Digite o código da empresa: "); if (i == 2) dados[a][1] = JOptionPane.showInputDialog("Digite o número de funcionários: "); if (i == 3) dados[a][2] =JOptionPane.showInputDialog("Digite o porte da empresa: (P, M ou G)"); } a = a+1; } while (!dados[a][2].equals("0"));
A galera ta apelando hj!
é um do{} while;
e outra, o que a professora dele pediu para fazer e a forma que ele está bolando está errada!
utilize switch/case é melhor!
Tchauzin!
A galera ta apelando hj!
é um do{} while;e outra, o que a professora dele pediu para fazer e a forma que ele está bolando está errada!
utilize switch/case é melhor!
Tchauzin!
o “case” só não aceita expressões logicas… não sei como usando ele
package escrevanome; import javax.swing.JOptionPane;// abrindo a pacote javax.swing public class Main { public static void main(String[] args) { String dados[][] = new String[100][3]; int a=0; do{ for (int i=1;i !=4;i++){ if (i == 1) dados[a][0] = JOptionPane.showInputDialog("Digite o código da empresa: "); if (i == 2) dados[a][1] = JOptionPane.showInputDialog("Digite o número de funcionários: "); if (i == 3) dados[a][2] =JOptionPane.showInputDialog("Digite o porte da empresa: (P, M ou G)"); } a = a+1; } while (!dados[a][2].equals("0")); } }Ta dando erro em: "while (!dados[a][2].equals("0"));" pq?
o problema é que dá uma NullPointerException.
for (int i = 0; i < 100; i++)
{
if (!dados[i][2].equals("0"))
{
System.out.println("Thyrfing");
}
}
falo…
A galera ta apelando hj!
é um do{} while;e outra, o que a professora dele pediu para fazer e a forma que ele está bolando está errada!
utilize switch/case é melhor!
Tchauzin!
o “case” só não aceita expressões logicas… não sei como usando ele
um jeito mais legal seria vc usar enums pra isso… swicth case aceita enums…

Ja coloquei chaves em todo canto da erro…

for (int i = 0; i < 100; i++)
{
if (!dados[i][2].equals("0"))
{
System.out.println("Thyrfing");
}
}
O problema ali não é a chave não tinha reparado que era um do…while
Então o certo é
do{
//faz tudo
}while(expressao);
O problema é que voce verifica posições nulas.
Facil, é só negar a expressão com ‘!’ na frente.