Trädvy Permalänk
Medlem
Plats
Sundsvall
Registrerad
Okt 2009

Fält i Java

Tja!
Ska räkna ut medelvärdet av tio tal som läses in i ett fält. Koden nedan funkar och gör sin uppgift men det ser ju förjävligt ut när jag har skrivit falt[1]+falt[2]+falt[3]... osv. Det jag skulle behöva lite hjälp med är hur man anropar hela fältets värde på en gång. T.ex. falt[]/falt.length vilket inte fungerar och det känns som jag har prövat alla möjliga allternativ men det står helt stilla för tillfället. Vore tacksam för lite hjälp.

public class Main
{
public static void main(String[] args)
{
Scanner scan = new Scanner (System.in);
int[]falt = new int[10];

System.out.println("Skriv in " + falt.length+ " tal ");

for(int i=0; i<falt.length; i++)
{
System.out.print("Ange ett tal " + (i + 1) + ": ");
falt[i]=scan.nextInt();
}

System.out.println("Medelvärdet är: "+(falt[0]+falt[1]+falt[2]+falt[3]+falt[4]+falt[5]+falt[6]+falt[7]+falt[8]+falt[9])/falt.length);
}

}

Trädvy Permalänk
Medlem
Registrerad
Nov 2007

Kommer inte på någon inbyggd funktion för att summera en array (dock möjligt att det finns någon), men det är ganska enkelt att använda en for loop, typ

int sum = 0; for (int i = 0; i < falt.length; i++) sum += falt[i];

Alternativt, lägg in det direkt och skippa arrayen helt om du inte behöver den till något mer, och kör bara "sum += scan.nextInt();" i inläsningsloopen.

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Nov 2005

Använd
[code*]
Din kod
[/code*]
(utan "*") i framtiden så är det enklare att se.

Du har ju en forloop, gör additionen inne i den.

*Edit Thomas var före