qual'è il simbolo che non trova?
Se parli di weights e values, quando li utilizzi devi assicurarti che siano visibili nel punto dove li utilizzi.

Ovvero, basta che tu metta le definizioni:

Vector weights=new Vector();
Vector values=new Vector();

subito sotto l'inizio della classe, così quelle due variabili saranno visibili da tutti i metodi della classe stessa.

A questo punto, riguardo il costruttore, non so di quale tu stia parlando. Del costruttore della classe Knapsack?
Se sì, dovrai scriverlo (in una classe di nome Knapsack) in questo modo

public Knapsack(int capacità, Vector vettore1, Vector vettore2){
...
}

dove vettore1 e vettore2 sono nomi che puoi mettere a piacimento.
Nota: ho ipotizzato che capacity sia un intero (se non è così devi cambiare "int" con il tipo di dato opportuno). La cosa importante è che i tipi siano quelli giusti e nell'ordine giusto, i nomi puoi metterli come ti pare.

Comunque scrivi un po' di codice e spiega meglio il contesto, sennò non riesco a capire...

Bye bye