---
title: "Får inte fram värdet i min vektor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/116208-får-inte-fram-värdet-i-min-vektor"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Broms"
published: "2004-11-18T19:16:34.000Z"
updated: "2004-11-19T06:55:05.000Z"
replies: 3
views: 326
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/116208-får-inte-fram-värdet-i-min-vektor"
---

# Får inte fram värdet i min vektor

## #1 — Broms, 2004-11-18T19:16Z

Fasen \*svär\* kör ett program enligt nedan.. i Fastighet.java finns klass och metoder som tillämpas i Fastighet_test.java.. Det som inte fungerar är anropet av funktionen för att ta fram försäljarens arvode efter att ett slutpris på fastigheten satts.. intSlutPris sätts enligt metoden innan, men sedan blir det problem när getProvision tillämpas. Jag vill som indata till denna metod ha slutpriset på en fastighet som väljs via index på fastigheten i vektorn. Kan någon kika på detta åt mig? Får inte tag på slutpriset när jag skall anropa provisions classen.. :\\ Please hjälpa..

Fastighet.java

```
import extra.*;

public class Fastighet {

	// Instansvariabel
	private String stringAdress;
	private int intStorlek, intHyra, intStartPris, intSlutPris;
	private float floatProv;

	// Kontrstuktorer
	public Fastighet(String a, int s, int h, int sp, int sp2 ) { // Initierar instansvariablerna stringAdress, intStorlek
		stringAdress = a;										 // intHyra och intStartPris med de startvärdena som anges i a,
		intStorlek = s;											 // s, h och sp
		intHyra = h;
		intStartPris = sp;
		intSlutPris = sp2;
	}

	// Metoder
	public void setSlutPris(int v) { // Anrop av metoden setSlutPris(<nytt värde>)
		intSlutPris = v;			 // sätter värdet på intSlutPris till värdet på v
	}
	
	public int getSlutPris() { // Anrop av metoden getSlutPris() returnerar
		return intSlutPris;	   // värdet på intSlutPris
	}

	public float getProvision(int x){ // Anrop av metoden giveProvision returnerar värdet
		floatProv = x*0.07; 		   // på tänkt provision av intSlutPris, med 7%
		return floatProv;
	}

	public String toString() {
		return "Adress: " + stringAdress + ". Storlek: " + intStorlek + ". Hyra: " + intHyra + ". Startpris: " + intStartPris + ". Slutpris: " + intSlutPris + ".";
	}

} // class
```

Fastighet_test.java

```
import extra.*;
import java.util.*; // Vector ligger i java.util

// Programmet skapar fastigheter med indata som
// adress, storlek, hyra och startpris enligt 
// Fastighet(String a, int s, int h, int sp )

public class Fastighet_test {

	public static void main (String[] arg) {

        System.out.print("-- Välkommen till Fastighetsbanken.net --\n");
        //System.out.print("Starta editeraren med 1, avsluta program med 0: ");

        // Skapar en ny vektor fastigheter
		Vector fastigheter = new Vector();

		// Skapar räknare till do-while- och if-satser som följer.		  
		int i=1, oi=0;

		String b_adress;
		int b_storlek, b_hyra, b_startpris, b_slutpris;

		do{

    		Std.out.print("Vill du lägga till en ny fastighet? 1=ja, 0=nej: ");
    		i = Std.in.readInt();
    		Std.in.skipLine();

    		if (i == 1){    			
        		Std.out.println("Ange Adress: ");
        		b_adress = Std.in.readLine();
   		
        		Std.out.println("Ange storlek (i hela kvm): ");        		
        		b_storlek = Std.in.readInt();

        		Std.out.println("Ange manadshyra (i hela kr): ");
        		b_hyra = Std.in.readInt();       

        		Std.out.println("Ange startpris (i hela kr): ");
        		b_startpris = Std.in.readInt();
     		
        		fastigheter.add(new Fastighet(b_adress, b_storlek, b_hyra, b_startpris,0));
    		}
    			
		} while (i == 1);

		Std.out.println();		

		// Utskrift av alla fastigheter i vektorn
		for(int n = 0; n < fastigheter.size(); n++){
    		System.out.print(fastigheter.get(n) + "\n");
		}

		// Tom rad
		Std.out.println();

		Std.out.print("Vill du: sätta ett slutpris? (skriv 1), kolla provision (skriv 2) eller avsluta (skriv 0): ");
		oi = Std.in.readInt();

		if(oi == 1){

			int c_index, c_slutpris;

			// Utskrift av alla fastigheter i vektorn, indexerade!		
			for(int n = 0; n < fastigheter.size(); n++){
    			System.out.print("Index: " + n + " - " + fastigheter.get(n) + "\n\n");
			}

			// Tom rad
			Std.out.println();

			// Läsa in index för att plocka ut rätt värde
			Std.out.print("Ange index på fastigheten: ");
			c_index = Std.in.readInt();

			Std.out.println("Ange slutpris (i hela kr): ");        		
        	c_slutpris = Std.in.readInt();

			Fastighet tmpFastighet = (Fastighet)fastigheter.get(c_index);
			tmpFastighet.setSlutPris(c_slutpris);

        	Std.out.println("Fastighetens info efter ändring");

        	System.out.print(fastigheter.get(c_index) + "\n");

			}
		else if(oi == 2){

			float d_provision;
			int d_index, d_hej, d_hej2;

			// Utskrift av alla fastigheter i vektorn, indexerade!		
			for(int n = 0; n < fastigheter.size(); n++){
    			System.out.print("Index: " + n + " - " + fastigheter.get(n) + "\n\n");
			}

			// Tom rad
			Std.out.println();

			// Läsa in index för att plocka ut rätt värde
			Std.out.print("Ange index på fastigheten: ");
			d_index = Std.in.readInt();

			Fastighet tmpFastighet2 = (Fastighet)fastigheter.get(d_index);
			d_hej = tmpFastighet2.getSlutPris();			
			d_hej2 = tmpFastighet2.getProvision(d_hej);
			
        	System.out.print(fastigheter.get(d_index) + "\n");
		}

	} // main
} // class
```

Permalänk: https://www.webforum.nu/p/116208

## #2 — Broms, 2004-11-18T20:17Z

ändrade float till double för att slippa error om loss of precision, men jag får det ändå inte att fungera.. :\\

Permalänk: https://www.webforum.nu/p/1489386

## #3 — Broms, 2004-11-18T20:59Z

det löste sig nu.. =)

Permalänk: https://www.webforum.nu/p/1489408

## #4 — jme, 2004-11-19T06:55Z

Berätta gärna också vad som var fel och hur du löste det. :)

Permalänk: https://www.webforum.nu/p/1489502

---

Tråden på webben: https://www.webforum.nu/amne/java/116208-får-inte-fram-värdet-i-min-vektor
