Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537

    Quali errori??

    Ragazzi devo scrivere un "Programma" (se così si può chiamare) che date due stringhe in ingresso devo controllare se in una è contenuta un 'altra un certo numero di volte.
    Es. String s1="dsfdffdhfdjdfdf", String s2="dh" int k = 3;
    Se s2 è contenuta 3 o più volte in s1 restituire true.

    Questo è il main

    Codice PHP:
    public class Test {
    public static 
    void main (String[] args){
    int k Integer.parseInt(args[0]);
    String s1 = (args[1]);
    String s2 = (args[2]);
    System.out.println(Trovastringhe.vai (ks1s2));
    }

    E Questa è la funzione

    Codice PHP:
    public class Trovastringhe {
    public static 
    boolean vai (String s1String s2int k){
    int d s2.lengthcount 0;
    for (
    int i 0i<s1.length(); i++){
    if (
    s2.equals(s1.substring(id))){
      
    count++;
        if (
    count >= k){
            return 
    true;
        }    
    }
    }
    return 
    false;  
    }

    Quando compilo dal prompt mi da una serie di errori mi sapete aiutare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    42
    Ciao,

    Ho notato che ci sono diverse cose che non vanno bene:
    • Nella classe String length non è un attributo, ma bensì un metodo length()
    • Count non lo hai dichiarato
    • Quando cerchi di runnare il codice ottieni un errore di StringIndexOutOfBoundsException, nel punto in cui fai substring, significa che cerchi di sottrarre una porzione di stringa che non esiste...


    codice:
        public static boolean vai( int k, String s1, String s2)
        {
            int start = -1;
            int count = 0;
            
            while((start = s1.indexOf(s2,start+1))!= -1)
                if((++count) >= k)
                    return true;
            
            return false;
        }
    Prova a studiarti questo metodo che ho fatto, perchè quando si analizzano delle stringhe si è soliti usare indexOf in java......

    Ti consiglio di scaricare un IDE, (es.http://www.netbeans.org/) che ti consente di rilevare mentre scrivi gli errori di sintassi e soprattutto agli inizi è utile..

    Non dimenticare mai di usare la javadoc (http://java.sun.com/j2se/1.5.0/docs/api/index.html)

    e buon lavoro

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Quali errori??

    Originariamente inviato da wino_7
    Quando compilo dal prompt mi da una serie di errori mi sapete aiutare?
    Ci sono diversi errori (che ti sono già stati segnalati).
    Comunque per trovare l'indice di una sottostringa si usa tipicamente il metodo indexOf() di String.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Puoi fcare tutti semplicemente con le espressioni regolari:

    Codice PHP:
    private boolean contaOccorrenze(String daCercare,String stringa,int minOcc) {
            
    Pattern pat Pattern.compile(daCercarePattern.CASE_INSENSITIVE);
            
    Matcher mat pat.matcher(stringa);
            
    int count=0;
        
            while(
    mat.find())
                
    count++;
            
            if(
    count>=minOcc)
                return 
    true;
            else
                return 
    false;

    Al mio segnale... scatenate l'inferno!

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Senza andare a "scomodare" le espressioni regolari (tra l'altro per cercare una stringa qualunque con le regex si dovrebbe "quotarla"), io farei:

    codice:
    public static boolean stringInString (String str, String search, int minCount)
    {
        int count = 0, idx = 0, len = search.length ();
    
        while ((idx = str.indexOf (search, idx)) != -1)
        {
            count++;
            idx += len;
        }
    
        return count >= minCount;
    }
    Semplice e veloce.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Re: Quali errori??

    Originariamente inviato da wino_7
    Quando compilo dal prompt mi da una serie di errori mi sapete aiutare?
    Per le prossime volte: indica anche quali errori ti dà il compilatore... esso non si limita a dirti "Uè bello! Ci sono degli errori!", ma ti indica esattamente che tipo di errori e anche a quali righe.
    Per aiutare gli altri ad aiutarti dovresti riportare queste informazioni, così da evitare di costringere le persone a copiarsi tutto il codice e compilarlo o rileggerlo tutto.


    Per il titolo, che non è conforme al regolamento, sistemo io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537
    Vi ringrazio tanto, la prossima volta vi scrivo anche gli errori che mi da il compilatore in modo da rendere le cose più semplici.
    ma a cosa serve la javadoc???

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da wino_7
    ma a cosa serve la javadoc???
    Il javadoc in generale è la documentazione generata dal tool del JDK che sia chiama (guarda caso ) "javadoc". Contiene tutta la documentazione sui package, classi, metodi, campi di una libreria.

    La piattaforma Java SE ha appunto il "suo" javadoc che ti è stato linkato prima (si può anche scaricarlo per averlo offline). E sarebbe bene tenerlo sempre a portata di ... mouse.
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.