Hilfe return von wert aus for schleife : unknow field or variable

  • Antworten:11
Der Bergmann
  • Forum-Beiträge: 2

12.11.2013, 11:21:55 via Website

Moin erstmal :)

Ich bin grade dabei von c++ auf Android bzw Java umzusteigen da ich mittlerweile öfter am Handy bin als am Pc ;D
Wie man sich denken kann beginnen jetzt die ganzen Anfängerfehler xD

Heute erste Stunde Selbstlerngruppe mit mir Selbst :V

Folgendes Problem :

[code][package com.example.sa;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;


public class FirstActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_first);

TextView numb = (TextView) findViewById(R.id.one);
numb.setText(String.valueOf(zahl()));
}


public int zahl (){

int a = 0;
for(int i = 0; i==10;i++){
a++
}

return a; // Hier liegt der Fehler, ich kann nix ausgeben was in der schleife ist ob a oder i


}

}
/code]

Was mache ich falsch ? :blink:

— geändert am 13.11.2013, 08:05:42

Antworten
SvenDD
  • Forum-Beiträge: 272

12.11.2013, 11:32:00 via Website

Eigentlich gibst du nur die letzte Zahl der Schleife aus, nicht mehr. Nur weil du eine Schleife für Zahlen hast, heißt es nicht automatisch, dass auch die Felder automatisch angelegt werden. Da du nur ein Feld hast.

Entweder nutzt du hierfür eine Liste oder du lässt dir die Zahlen mit dem Stringbuilder zusammenfassen, bräuchtest dann evtl. einen Trenner zwischen den Zahlen.

Antworten
Andy N.
  • Forum-Beiträge: 22.375

12.11.2013, 12:26:53 via App

Hallo und herzlich willkommen bei uns im Forum :)

bitte bearbeite doch nochmal etwas deinen Threadtitel, damit andere User besser erkennen können, worum es hier geht. Hierfür einfach im Browser unter deinem ersten Beitrag auf "Bearbeiten" drücken, dann kannst du oben noch mal den Titel bearbeiten.

Danke :)

Viele Grüße,
Andy


OnePlus 3 (Resurrection Remix 5.8.2)
LG G Watch

Regeln | unsere Mods & Admins

Antworten
impjor
  • Forum-Beiträge: 1.793

12.11.2013, 13:46:31 via App

Deine Schleife wird nie laufen, da die Bedingung i == 10 ist, i aber 0.
i kannst du auch nicht aufgeben, da es nur in der Schleife gültig ist.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
SvenDD
  • Forum-Beiträge: 272

12.11.2013, 13:57:38 via Website

Warum? Der iteriert doch am Ende jedes Mal. Er würde doch nur die 10 ausgeben nicht mehr.

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

12.11.2013, 14:59:07 via Website

Anfangen solltst du damit eine passende Überschrift für Fragen zu finden.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
impjor
  • Forum-Beiträge: 1.793

12.11.2013, 15:28:01 via App

@mara.grey: Ausgabe/Rückgabewert ist a, und a ist 0, da die Schleife mit a++ nie aufgerufen wird. Sie wird nie aufgerufen, da die Bedingun i==10 nicht zutrifft.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
SvenDD
  • Forum-Beiträge: 272

12.11.2013, 20:46:25 via Website

Hast recht impjor :D

Antworten
Der Bergmann
  • Forum-Beiträge: 2

13.11.2013, 08:01:54 via Website

ouh ups also eiq sollte da ein <= hin, meine ausgabe sollte nun 10 rauskommen bei i oder a das problem ist das ich bei return a die Fehlermeldung unknow variable or field a bekomme.
was stimmt dort nicht das ich es nicht zurückgebn kann ? 0.o

— geändert am 13.11.2013, 08:07:40

Antworten
SvenDD
  • Forum-Beiträge: 272

13.11.2013, 08:33:03 via Website

Wenn maximal 10, dann nur < oder du fängst bei i = 1 zu zählen.

Antworten
impjor
  • Forum-Beiträge: 1.793

13.11.2013, 18:46:08 via App

Mmm... der Code sollte so syntaktisch richtig sein. Ist das genau der Code der Funktion? Sonstige Fehler/Warnungen in der Datei? Setze mal hinter a++ ein Simikolon ; .

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Michele
  • Forum-Beiträge: 1.525

13.11.2013, 19:43:28 via Website

Hallo

Habe es mal getestet für dich.

Geht soweit alles.
Fehlt nur wie @impjor schon sagte ein ; hinter dem a++
Dazu muss es halt auch i<10 sein.



LG

— geändert am 13.11.2013, 21:41:28

Antworten