Visualizzazione dei risultati da 1 a 10 su 18

Hybrid View

  1. #1
    Se faccio così è sbagliato?
    codice:
    package caratteridiversi;
    import java.util.Scanner;
    public class caratteridiversi {
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      @SuppressWarnings("resource")
      Scanner in=new Scanner(System.in);
      String s;
      System.out.println("Inserisci una stringa");
      s=in.nextLine();
      int a;
      boolean p=true;
      for(int i=0;i<s.length()-1;i++)
      {
       a=s.charAt(i);
       for(int c=i+1;c<s.length();c++)
       {
        if(a!=s.charAt(c))
        {
         p=true;
        }
        else
        {
         p=false;
        }
       }
      }
      if(p)
      {
       System.out.println("La stringa è composta da caratteri diversi");
      }
      else
      {
       System.out.println("La stringa non è composta da caratteri diversi");
      }
      
     }
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Saverioapple Visualizza il messaggio
    Se faccio così è sbagliato?
    Sì, è sbagliato. Perché se trovi due caratteri uguali hai p=false ma appena ne trovi di diversi rimetti p=true. Quindi alla fine p a true non ti indica che sono tutti diversi!

    Devi solo mettere a false solo se trovi due caratteri uguali.

    P.S. Consiglio: fai un metodo apposito e potrai anche evitare la variabile boolean.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.