Luthien 0 Denunciar post Postado Setembro 16, 2014 Comecei a ver java tem pouco tempo e em todos os programas em q vou imprimir algum double ou float eu não consigo, sempre aparece o erro: "Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, double)" Achei q fosse erro meu mas aconteceu o mesmo quando fui executar um codigo do professor. O que é isso? Como conserto? Se quiserem dar uma olhada no codigo: package exercicios; import java.util.Scanner; public class Exercicio_02 { static Scanner entrada; public static void main(String args[]) { double arrayDouble []; int qtd; entrada = new Scanner(System.in); System.out.println("Digite a quantidade de elementos do array"); qtd = entrada.nextInt(); arrayDouble = new double[qtd]; preencheArray(arrayDouble); exibeArray(arrayDouble); } private static void preencheArray(double array[]){ for(int i=0;i<array.length;i++){ System.out.println("Digite o elemento da posição %d"+(i+1)); array[i] = entrada.nextDouble(); } } private static void exibeArray(double array[]){ System.out.println("["); for(int i =0;i<array.length-1;i++){ System.out.printf(" %lf -",+array[i]); } System.out.printf("%lf ]\n",+array[i]); } Compartilhar este post Link para o post Compartilhar em outros sites
qfox 0 Denunciar post Postado Setembro 16, 2014 Boa Noite Luthien, Fiz uma pequena alteração nas duas funções, tente perceber a diferença: private static void preencheArray(double array[]){ for(int i=0;i<array.length;i++){ System.out.printf("Digite o elemento da posição %d",+(i+1)); array[i] = entrada.nextDouble(); } } private static void exibeArray(double array[]){ System.out.println("["); int i = 0; while(i < array.length-1) { System.out.printf(" %lf -",+array[i]); i++; } System.out.printf("%lf ]\n",+array[i]); } No entanto ainda existem alguns erros quando executa, mas deixo o desafio para você :P Cumps Compartilhar este post Link para o post Compartilhar em outros sites
Luthien 0 Denunciar post Postado Setembro 17, 2014 aah obrigada mas olha esse outro codigo, sempre da o msm erro em todos os codigos q tento executar.... public class Exercicio_03 { static Scanner input; public static void main(String args[]){ //Declaração de variáveis float arrayFloat [], num; int qtd; boolean estaPresente; //Inicialização do Scanner de leitura input = new Scanner(System.in); //Inicialização do Array System.out.println("Digite a quantidade de elementos do array"); qtd = input.nextInt(); arrayFloat = new float[qtd]; //Preenchimento e exibição do array preencheArray(arrayFloat); System.out.println("Array Cadastrado: "); exibeArray(arrayFloat); //Busca no array System.out.println("Digite um numero (float) a ser pesquisado:"); num = input.nextFloat(); estaPresente = buscaNoArray(arrayFloat, num); if(estaPresente == true ) System.out.println("O número %f está presente no array", num); else System.out.println("O número %f NÃO está presente no array", num); } private static void exibeArray(float[] array) { System.out.print("["); int i; for (i = 0; i < array.length-1; i++) { System.out.print("%.2f - ", array[i]); // System.out.print(array[i] + " ,"); } System.out.print("%.2f]\n", array[i]); } public static float[] preencheArray(float a[]){ for (int i = 0; i < a.length; i++) { // Random random = new Random(); // a[i] = random.nextFloat()*100; System.out.println("Digite o elemento da posição " + (i+1)); a[i] = input.nextFloat(); } return a; } public static boolean buscaNoArray(float array[], float n){ boolean estaPresente = false; for (int i = 0; i < array.length; i++) { if(array[i] == n){ estaPresente = true; break; } } return estaPresente; } } Esse foi o professor q fez, nao pode estar errado hsauhsauhsa... da erros nas linhas 28, 30, 38, 41. Aparece isso quando executo: "Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, double)" Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Setembro 18, 2014 Você deve estar confundindo a sintaxe do java com C. Na linha 28: System.out.println("O número %f está presente no array", num); Troque para System.out.println("O número " + num + " está presente no array"); O mesmo vale para a linha 30. --- Na linha 38, se quiser usar o método print() formatado, troque: System.out.print("%.2f - ", array[i]); para: System.out.print( String.format("%.2f", array[i)) ); O mesmo vale para a linha 41. Compartilhar este post Link para o post Compartilhar em outros sites
qfox 0 Denunciar post Postado Setembro 18, 2014 Olá Luthien, Como o rnxn falou também pode utilizar o System.out.printf(String, Object); Força e bom estudo. Cumps Compartilhar este post Link para o post Compartilhar em outros sites