Visualizzazione dei risultati da 1 a 5 su 5

Discussione: non trovo l'errore

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    15

    non trovo l'errore

    ciao a tutti sto iniziando a programmare in java, e cercando di creare un mio programmino mi sono bloccato ad un punto. vi scrivo il codice e l'errore che mi da:
    codice:
    import java.util.*;
    public class Prog {
        
        public static void main(String[] args) 
        {
            Scanner in=new Scanner(System.in);
            
            System.out.println("Scrivi il primo:");
        	String a=in.next();//metto nella stringa a quello che l'utente immette da tastiera
        	System.out.println("Scrivi il secondo:");
        	String b=in.next();//stessa cosa di sopra
            
            int j=a.length()-1;//assegno alla variabile j il valore della lunghezza della stringa a sottratto di uno
            int k=b.length()-1;//stessa cosa di sopra
            
            char i1=a.charAt(0);//assegno al char i1 il primo carattere della stringa a
            char i2=b.charAt(0);//stessa cosa di sopra
            
            char f1=a.charAt(k);//assegno al char f1 l'ultimo carattere della stringa a
            char f2=b.charAt(j);//stessa cosa di sopra
            
            if(i1=="p")
            {System.out.println("uno");}
            else if(i1=="a")
            {System.out.println("due");}
            else
            {System.out.println("tre");}
        }
    }
    mi fa inserire le due stringe però poi mi da errore.
    l'errore che mi da è questo:
    codice:
    Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - incomparable types: int and java.lang.String
    	at prog.Prog.main(Prog.java:23)
    Java Result: 1
    il programma ovviamente non è finito ma non capisco come mai non funzioni. io voglio che, nel caso il primo carattere della stringa a fosse p il programma deve stampare uno se il primo carattere è a deve stampare due e in ogni altro caso deve stampare tre. come mai non funziona?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: non trovo l'errore

    Originariamente inviato da paolo94
    ciao a tutti sto iniziando a programmare in java, e cercando di creare un mio programmino mi sono bloccato ad un punto. vi scrivo il codice e l'errore che mi da:

    import java.util.*;
    public class Prog {

    public static void main(String[] args)
    {
    Scanner in=new Scanner(System.in);

    System.out.println("Scrivi il primo:");
    String a=in.next();//metto nella stringa a quello che l'utente immette da tastiera
    System.out.println("Scrivi il secondo:");
    String b=in.next();//stessa cosa di sopra

    int j=a.length()-1;//assegno alla variabile j il valore della lunghezza della stringa a sottratto di uno
    int k=b.length()-1;//stessa cosa di sopra

    char i1=a.charAt(0);//assegno al char i1 il primo carattere della stringa a
    char i2=b.charAt(0);//stessa cosa di sopra

    char f1=a.charAt(k);//assegno al char f1 l'ultimo carattere della stringa a
    char f2=b.charAt(j);//stessa cosa di sopra

    if(i1=="p")
    {System.out.println("uno");}
    else if(i1=="a")
    {System.out.println("due");}
    else
    {System.out.println("tre");}
    }
    }
    mi fa inserire le due stringe però poi mi da errore.
    l'errore che mi da è questo:

    Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - incomparable types: int and java.lang.String
    at prog.Prog.main(Prog.java:23)
    Java Result: 1

    il programma ovviamente non è finito ma non capisco come mai non funzioni. io voglio che, nel caso il primo carattere della stringa a fosse p il programma deve stampare uno se il primo carattere è a deve stampare due e in ogni altro caso deve stampare tre. come mai non funziona?
    Metti il codice fra tag [CODE] in modo da renderlo leggibile.

    I caratteri si delimitano con gli apici singoli, non doppi, quelli delimitano le stringhe. Del resto l'errore è chiaro, ti dice che stai comparando int e String.
    effeffe

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    15

    Re: Re: non trovo l'errore

    Originariamente inviato da Kaamos
    Metti il codice fra tag in modo da renderlo leggibile.

    I caratteri si delimitano con gli apici singoli, non doppi, quelli delimitano le stringhe. Del resto l'errore è chiaro, ti dice che stai comparando int e String.
    fatto però mi da sempre errore! ho cambiato "p" con 'p' e mi da questo errore:

    codice:
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4 
    at java.lang.String.charAt(String.java:658) 
    at prog.Prog.main(Prog.java:21) 
    Java Result: 1

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: Re: Re: non trovo l'errore

    Originariamente inviato da paolo94
    fatto però mi da sempre errore! ho cambiato "p" con 'p' e mi da questo errore:

    codice:
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4 
    at java.lang.String.charAt(String.java:658) 
    at prog.Prog.main(Prog.java:21) 
    Java Result: 1
    Gli errori in Java sono molto chiari, impara a leggerli: ti sta dicendo che col metodo charAt() hai richiesto il carattere numero 4 ma esso non esiste, e ti sta anche dicendo in quale riga si è verificato l'errore, ovvero la 21; vai a quella riga e controlla le variabili che usi.
    effeffe

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    15

    Re: Re: Re: Re: non trovo l'errore

    Originariamente inviato da Kaamos
    Gli errori in Java sono molto chiari, impara a leggerli: ti sta dicendo che col metodo charAt() hai richiesto il carattere numero 4 ma esso non esiste, e ti sta anche dicendo in quale riga si è verificato l'errore, ovvero la 21; vai a quella riga e controlla le variabili che usi.
    ho capito, avevo solo invertito la variabile j con k. grazie mille per l'aiuto, sono riuscito a finire il programma

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 © 2025 vBulletin Solutions, Inc. All rights reserved.