---
title: "ett exekverings fel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/164021-ett-exekverings-fel"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "liberte"
published: "2007-08-30T08:50:04.000Z"
updated: "2007-09-01T21:55:18.000Z"
replies: 3
views: 631
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/164021-ett-exekverings-fel"
---

# ett exekverings fel

## #1 — liberte, 2007-08-30T08:50Z

Hej på er!

Jag är ny här och rätt så nybörjare i Javaprogrammering.
Jag skulle gärna få hjälp för att få min kod att fungera.

Uppgiften är att skriva en kod som ska beräkna och skriva ut de 10 första Fibonacci-talen(1,1,2,3,5,...) och som beräknas med följande formeln:
F(k)= F(k-1)+F(k-2) där F(o) = 1, F(1) = 1.

Koden ser ut så här:

public class Fibonacci {
	public static void main(String\[\]args){
		
		int\[\] theNbrs ;
		theNbrs\[0\] = 1;
		theNbrs\[1\] =1;
		
		for (int k=2; k\<theNbrs.length; k++)
			theNbrs\[k\] = theNbrs\[k-1\] + theNbrs\[k-2\];
	
		System.out.println(theNbrs\[k\]);
	
           }
}

Jag får som exekveringsfel det här:

C:\\Documents and Settings\\Mina dokument\\algorithm\\Fibonacci.java:11: cannot find symbol
symbol  : variable k
location: class Fibonacci
        System.out.println(theNbrs\[k\]);
                                           ^
1 error

Process completed.

Hur ska jag rätta till det här  :q ???

Ytterst tacksam för all hjälp

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

## #2 — @nders, 2007-08-30T08:56Z

Hej!

Utan att kunna java tycker jag nog att det saknas måsvingar runt det som ska exekveras i din for-slinga.

```
for (int k=2; k<theNbrs.length; k++) {
     theNbrs[k] = theNbrs[k-1] + theNbrs[k-2];

     System.out.println(theNbrs[k]);
}
```

Använd gärna \[kod\]-taggar när du postar kod, så blir allt mycket mer lättläst.

mvh

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

## #3 — Lime, 2007-09-01T19:36Z

> **liberte skrev:**
>
> Hej på er!
> 
> Jag är ny här och rätt så nybörjare i Javaprogrammering.
> Jag skulle gärna få hjälp för att få min kod att fungera.
> 
> Uppgiften är att skriva en kod som ska beräkna och skriva ut de 10 första Fibonacci-talen(1,1,2,3,5,...) och som beräknas med följande formeln:
> F(k)= F(k-1)+F(k-2) där F(o) = 1, F(1) = 1.
> 
> Koden ser ut så här:
> 
> public class Fibonacci {
> 	public static void main(String\[\]args){
> 		
> 		int\[\] theNbrs ;
> 		theNbrs\[0\] = 1;
> 		theNbrs\[1\] =1;
> 		
> 		for (int k=2; k\<theNbrs.length; k++)
> 			theNbrs\[k\] = theNbrs\[k-1\] + theNbrs\[k-2\];
> 	
> 		System.out.println(theNbrs\[k\]);
> 	
>            }
> }
> 
> Jag får som exekveringsfel det här:
> 
> C:\\Documents and Settings\\Mina dokument\\algorithm\\Fibonacci.java:11: cannot find symbol
> symbol  : variable k
> location: class Fibonacci
>         System.out.println(theNbrs\[k\]);
>                                            ^
> 1 error
> 
> Process completed.
> 
> Hur ska jag rätta till det här  :q ???
> 
> Ytterst tacksam för all hjälp

Det första som är fel är deklarationen av den array som du använder dig av. Du måste instansiera theNbrs innan du kan göra någon tilldelning i arrayen.

```
int[] theNbrs;
```

blir

```
int[] theNbrs = new int[10];
```

Du kommer att behöva 10 positioner för att lagra arrayen.

Nästa sak du måste fixa är att fundera på for-satsen. Du vill titta på alla tal upp till 10...

Sedan är att får rätt i måsvingeträsket. Ta till vana att ALLTID använda dig av måsvingar när du öppnar ett nytt scope, så som du t.ex. gör med for-satsen (eller med if, else, switch, metoder o.s.v.). Även om det bara skall köras en enda sak inne i scopet. Måsvingarna gör ingenting för den slutligt kompilerade koden, men hjälper till med läsbarhet och avlusning.

Så här hade jag löst uppgiften:

```
public class Fibonacci {
	public static void main(String[] args) {

		int theNbrs_minor = 1;
		int theNbrs_major = 1;
		int theNbrs_next = 0;

		System.out.println("F(0) = " + theNbrs_minor);
		System.out.println("F(1) = " + theNbrs_major);
		
		for (int k = 2; k < 10; k++) {
			theNbrs_next = theNbrs_minor + theNbrs_major;

			System.out.println("F("+k+")= " + theNbrs_next);
			theNbrs_minor = theNbrs_major;
			theNbrs_major = theNbrs_next;
		}
	}
}
```

Det öppnar för att läsa in argument till applikationen så att jag kan ställa vilka fibonacci-talserier jag vill.

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

## #4 — liberte, 2007-09-01T21:55Z

Snyggt!

Tack så mycket för hjälpen!

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

---

Tråden på webben: https://www.webforum.nu/amne/java/164021-ett-exekverings-fel
