Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA]Illegal start of expression

    Salve a tutti, vi espongo il mio problema: io devo costruire un algoritmo che dati due vettore v1 e v2 mi dia un vettore v3 che comprenda solo gli elementi di v1 contenuti almeno 2 volte in v2. Per fare ciò ho scritto il seguente codice:
    codice:
    import java.util.Scanner;
    
    public class Vet {
    	public static void main (String [] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("Dimensione del primo vettore ?");
    	dim=sc.nextInt();
    	int[] v1 = new int[dim];
    	System.out.println("Dimensione del secondo vettore ?");
    	dimm=sc.nextInt;
    	int[] v2 = new int[dimm];
    	leggi (v1);
    	leggi (v2);
    	costruisciVettore (v1, v2);
    	stampa (costruisciVettore (v1, v2));
    	}
    	
    	public static int[] costruisciVettore (int []v1, int[]v2) {
    	int[] v3 = new int[v1.length];
    	int pos=o;
    	for (i=0 ; i<v1.lenght ; i++){
    		if (presente(v2, v1[i]))
    		v1[i]=v3[]
    		}
    	v3=ridimensiona(v3, pos);
    	return v3;
    	}
    	
    	public static int[] ridimensiona (int[] v, int val) {
    	int[] nuovov= new int[val];
    	for (int=0; i<val ; i++)
    	{
    		nuovoV[i]= v[i];
    	}
    	return nuovoV;
    	}
    	
    	public static int presente(int[]v , int val) {
    	int cont=0;
    	for (int i=0 ; i<v.length; i++) {
    		if (v[i]=val)
    			cont++;
    		if (cont=2)
    		return val;}
    	}
    	
    	public static void leggi (int[]v) {
    	Scanner sc = new Scanner(System.in);
    	for (int i=o; i<v.length; i++){
    		System.out.println("elemento in posizione: "+i);
    		v[i]=sc.nextInt();
    	}
    	}
    	
    	public static void stampa (int[]v) {
    	for (int i=0; i<v.legth; i++)
    		System.out.println(v[i]+"elemento in posizione: "+i);
    	}
    }
    Il problema sorge quando vado a compilarlo: il compilatore mi da un illegal start of expression su ogni riga di inizio funzione cioè su:

    codice:
    public static int[] ridimensiona (int[] v, int val) {
    codice:
    public static int presente(int[]v , int val) {
    codice:
    public static void leggi (int[]v) {
    ecc..

    Non capisco dove stia il problema, che c'è di sbagliato in public static ....... ???

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    - Hai dimenticato le () dopo il secondo nextInt nel main
    - Non hai dichiarato la variabile 'i' nel for in costruisciVettore
    - Hai sbagliato scrivendo lenght e non length
    - Hai dimenticato la ; dopo v1[i]=v3[]
    e sicuramente c'è dell'altro.

    Insomma ... ricontrolla tutto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ho coretto quegli errori.... il ; dopo v1[i]=v3[] se lo metto il compilatore me lo da come errore '.class' expected se lo tolgo continua a darmi quegli errori di illegal start of expression.....
    aiuto!

  4. #4
    Dopo un paio di correzioni finalmente sono riuscito a compilare l'algoritmo solo che il programma non stampa il nuovo vettore che dovrebbe creare....ci sara qualke problema nella funzione stampa ?

    codice:
    import java.util.Scanner;
    
    public class Vet {
    	public static void main (String [] args) {
    	Scanner sc = new Scanner(System.in);
    	System.out.println("Dimensione del primo vettore ?");
    	int dim=sc.nextInt();
    	int[] v1 = new int[dim];
    	System.out.println("Dimensione del secondo vettore ?");
    	int dimm=sc.nextInt();
    	int[] v2 = new int[dimm];
    	System.out.println("Dammi gli elementi del primo vettore");
    	leggi (v1);
    	System.out.println("Dammi gli elementi del secondo vettore");
    	leggi (v2);
    	costruisciVettore (v1, v2);
    	stampa (costruisciVettore (v1, v2));
    	}
    	
    	public static int[] costruisciVettore (int []v1, int[]v2) {
    	int[] v3 = new int[v1.length];
    	int pos=0;
    	for (int i=0 ; i<v1.length ; i++){
    		if (presente(v2, v1[i]))
    		v1[i]=v3[i];
    	}
    	return v3;
    	}
    	
    	public static int[] ridimensiona (int[] v, int val) {
    	int[] nuovoV= new int[val];
    	for (int i=0; i<val ; i++)
    	{
    		nuovoV[i]= v[i];
    	}
    	return nuovoV;
    	}
    	
    	public static boolean presente(int[]v , int val){
    	int cont=0;
    	for (int i=0 ; i<v.length; i++) {
    		if (v[i]==val){
    			cont++;}
    		if (cont==2){
    		return true;}
    	}
    	return false;
    	}
    	
    	public static void leggi (int[]v) {
    	Scanner sc = new Scanner(System.in);
    	for (int i=0; i<v.length; i++){
    		System.out.println("elemento in posizione: "+i);
    		v[i]=sc.nextInt();
    	}
    	}
    	
    	public static void stampa (int[]v) {
    	System.out.println("STAMPO IL NUOVO VETTORE");
    	for (int i=0; i<v.length; i++)
    		System.out.println(v[i]+"elemento in posizione: "+i);
    	}
    }

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.