publicstaticvoidmain(String[]args){Stringinput;Stringponto=".";input=JOptionPane.showInputDialog("introduza a palavra");for(inti=0;i<input.length();i++)if((input.charAt(i)).equals(ponto))System.out.println("Possui ponto na posicao "+(i+1));elseSystem.out.println("Nao e atem ponto ");}}Masestaagerarumerroquediz" char cannot be dereferenced "
O charAt retorna um char e não uma String. Sendo assim vc não pode comprar com equals. Vc tem que comparar bananas com banas e laranjas com laranjas. Dá uma pesquisada aí.
C
conectionsp
Bom dia Mario,
Só alterar a comparação de String para char.
Int+, [code]
Oi pessoal :
tenho aui o seguinte programa para testar se uma determinada palavra contem ponto(.)
ou nao:
import javax.swing.*;
import java.util.*;
public class Outro
{
public static void main(String [] args)
{
String input;
String ponto="."; //Altere de String para Char
input=JOptionPane.showInputDialog("introduza a palavra");
for(int i=0;i
if((input.charAt(i)).equals(ponto))
System.out.println("Possui ponto na posicao "+(i+1));
else
System.out.println("Nao e atem ponto ");
Só para completar existe também a possibilidade de utilizar um REGEXP para fazer a procura dentro de uma string, nesse caso de procura por . talvez não seja realmente a melhor opção já que usando um indexOf() já lhe resolveria mas para pesquisas mais complexas é a melhor escoha.
Para procurar por um . (ponto) o código seria mais ou menos isso:
Patternpattern=Pattern.compile("[.]");Stringpalavra="marcio.camurati";Matchermatcher=pattern.matcher(palavra);if(matcher.find()){System.out.println("Palavra com . !");}else{System.out.println("Palavra sem . !");}
[]s
andre_udi
ola amigos,
otima surgestao marcio. axo q pra esse caso, como vc falou, o indexof é + oportuno.
mas regex é mto poderoso, tem coisas + complexas q vc so faz de forma elegante com regex.