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”));
[code]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”));
}
}[/code]
Ta dando erro em: “while (!dados[a][2].equals(“0”));” pq?
errado
[code] while (!dados[a][2].equals(“0”));
} [/code]
certo
[code]
while (!dados[a][2].equals(“0”)){
} [/code]
[quote=dicabeca]errado
[code] while (!dados[a][2].equals(“0”));
} [/code]
certo
[code]
while (!dados[a][2].equals(“0”)){
} [/code][/quote]
CERTO
[code] while (!dados[a][2].equals(“0”));
Tá desse jeito no programa e nao mostra erro… (só ao executar)
} [/code]
ERRADO
[code]
while (!dados[a][2].equals(“0”)){
} [/code][/quote]
Se eu mudar pra isso dá erro sem executar…
Oi,
Qual o erro que aparece ?
Tchauzin!
[quote=lina]Oi,
Qual o erro que aparece ?
Tchauzin![/quote]
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
[quote=Tiago Transltr]
CERTO
[code] while (!dados[a][2].equals(“0”));
Tá desse jeito no programa e nao mostra erro… (só ao executar)
} [/code][/quote]
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].
[quote=Bruno Laturner][quote=Tiago Transltr]
CERTO
[code] while (!dados[a][2].equals(“0”));
Tá desse jeito no programa e nao mostra erro… (só ao executar)
} [/code][/quote]
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].[/quote]
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:
[code]while (!“0”.equals(dados[a][2])) {
}[/code]
[quote=Tiago Transltr]
CERTO
[code] while (!dados[a][2].equals(“0”));
Tá desse jeito no programa e nao mostra erro… (só ao executar)
} [/code]
ERRADO
[code]
while (!dados[a][2].equals(“0”)){
} [/code]
Se eu mudar pra isso dá erro sem executar…[/quote]
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…
[quote=Tiago Transltr][quote=dicabeca]errado
[code] while (!dados[a][2].equals(“0”));
} [/code]
certo
[code]
while (!dados[a][2].equals(“0”)){
} [/code][/quote]
CERTO
[code] while (!dados[a][2].equals(“0”));
Tá desse jeito no programa e nao mostra erro… (só ao executar)
} [/code]
ERRADO
[code]
while (!dados[a][2].equals(“0”)){
} [/code]
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!
[quote=ViniGodoy]
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?”[/quote]
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?”
[quote=ViniGodoy][quote=Tiago Transltr][quote=dicabeca]errado
[code] while (!dados[a][2].equals(“0”));
} [/code]
certo
[code]
while (!dados[a][2].equals(“0”)){
} [/code][/quote]
CERTO
[code] while (!dados[a][2].equals(“0”));
Tá desse jeito no programa e nao mostra erro… (só ao executar)
} [/code]
ERRADO
[code]
while (!dados[a][2].equals(“0”)){
} [/code]
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.[/quote][/quote]
mas a parada não é um do while?
[quote=Tiago Transltr][code]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”));[/code][/quote]
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!
[quote=lina]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![/quote]
o “case” só não aceita expressões logicas… não sei como usando ele
[quote=Tiago Transltr][code]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”));
}
}[/code]
Ta dando erro em: “while (!dados[a][2].equals(“0”));” pq?
[/quote]
o problema é que dá uma NullPointerException.