Pessoal preciso de uma ajuda urgente, estou fazendo um programinha para ordenar valores recebidos como argumento e calcular a media desses valores (independende da quantidade de argumentos), só que por algum motivo eu não consigo somar esses valores porque o Netbeans retorna que não consegue achar a variável “i” que se refere a posíção do argumento.
Por favor me salvem!
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
/**
*
* @author Allyson
*/
public class Questao03 {
public static void main(String[] args){
int soma = 0;
double mediaaritimetica = 0.0;
System.out.print("Programa: Questao03\n" +
"Aluno: Allyson Caetano da Silva\n");
System.out.print("Entrada: ");
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String texto = reader.readLine();
args = texto.split(" ");
int[] intArgs = new int[args.length];
for(int i=0;i<args.length;i++)
intArgs[i] = (Integer.parseInt(args[i]));
soma = soma + (Integer.parseInt(args[i]));
Arrays.sort(intArgs);
System.out.println("Saída: ");
System.out.print("\tOrdem crescente: ");
for(int j=0;j<=intArgs.length;j++)
System.out.print(intArgs[j]+" ");
double quantidadeargumentos = args.length;
mediaaritimetica = soma / quantidadeargumentos;
} catch (IOException e){
e.printStackTrace();
}
System.out.println("Media aritimética: "+ mediaaritimetica);
}
}
Isso é tecnicamente viável. Entretanto, pela convenção de códigos da Sun, pede-se para sempre usar chaves, mesmo no caso do código ter uma linha só. Alega-se que omitir as chaves pode deixar o código sujeito a erros (eu particularmente discordo, mas enfim… convenção é convenção).
Concordo plenamente, e sempre utilizo o for com chaves mesmo sendo somente 1 linha
Porém é possível executar sem as chaves quando for 1 linha, ou até 2 linhas caso a 1 linha seja um if
Ex.:
for(Pessoa p : pessoaList)
if ( "TESTE".equals( p.getNome() )
return p;
return null;
Isso é possível porém nunca faça isso kkkkk, sempre utilize as chaves.
É que, na verdade, não é em "linhas" que ele conta, mas em comandos. Seu for tem apenas 1 comando, que é o if. Esse if, por sua vez, tem apenas 1 comando, que é o return.
Eu, particularmente, prefiro um código sem as chaves do que com. Na Siemens, tinhamos uma convenção sem as chaves. Era adaptação da convenção do Java para ficar mais legível para programadores C++ (com chaves na linha de baixo, por exemplo).
Aqui no GUJ, procuro seguir a convenção oficial do Java.
Mas claro, colocavamos chaves quando poderia ficar confuso de quem é o else, no caso de ifs aninhados:
if (x == y) {
if (x > y) {
maior = true;
} else { //Sem chaves, seria difícil saber de quem é esse else.
maior = false;
}
} else //Ou esse
igual = true;
}
Galera valeu pelo help ai…
mais eu já tinha tentado essa solução…
assim como o amigo FabricioPJ postou… tentei até colocar o codigo q ele passou aqui… só q quando coloco as chaves atrapalho a lógica…
olha aqui um exemplo de saída quando coloco as chaves: