Archief - hele simpele java code

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Blacksun

Legacy Member
ik ben beginner java code scripter
letterlijk beginner ik ben 2 dagen bezig
ik volg een tutorial op internet
en met de kennis die ik tot nu toe had probeerde ik een teller te maken

heel simpel: ik wil in het begin kunnen ingeven tot waar de computer moet tellen
als ik zeg 100
dan telt hij tot 100
en stopt hij

maar ik krijg dit niet voor elkaar met een if statement
is er iets anders wat ik hiervoor moet gebruiken?

mijn code: (ik werk in eclipse)
Code:
import java.util.Scanner;

public class counter {
	public static void main(String args []) {
int counter = 0;
System.out.println("at what number i have to stop counting?");
Scanner stopnumb = new Scanner(System.in);
System.out.println(stopnumb.nextLine());

if(counter == stopnumb){
	System.out.println("done!");
}
else{ 
		System.out.println(counter);
		counter++;
	}
		

} 
}

wat is hier fout mee? in eclipse staat bij de regel if(counter == stopnumb) staat in het begin van de regel: incompatible operand types int and scanner

stopnumb = het nummer waar hij moet stoppen

alvast bedankt. ik zou graag java willen leren :D

Daiky

Legacy Member
De fout zegt letterlijk wat er fout is :)
Je hebt een object van het type Scanner gemaakt, genaamd stopnumb.
Je gaat gewoon het object vergelijken met een getal (int). Dit kan niet.

Je moet de waarde van stopnumb.nextLine() in een variabele steken:
String input = stopnumb.nextLine();

Of
int input = stopnumb.nextInt();

is wel zo handig als het om een getal gaat (je kan een String nog niet meteen met een inte vergelijken, je zal één van de twee moeten omzetten)

en daarna kan je gaan vergelijken:
if(counter == input)

hopelijk kan je nu verder ;)

edit: volgens mij moet je ergens nog een loopje maken.
hier stond nog info over Scanner: http://www.java-made-easy.com/java-scanner.html

Blacksun

Legacy Member
erg bedankt. maar waar moet ik deze code nu ergens duwen
ik ben nu hem overal aan het neerzetten tot het werkt. en dan proberen uit te zoeken wat de code nu uitvoert
maar ik vind de juiste plaats niet of wat ik moet wegdoen en dit in de plaats zetten
moet ik nu

System.out.println(stopnumb.nextLine()); vervangen door int input = stopnumb.nextInt();

edit:

nu heb ik dit:

Code:
import java.util.Scanner;

public class counter {
	public static void main(String args []) {
int counter = 0;
System.out.println("at what number i have to stop counting?");
Scanner stopnumb = new Scanner(System.in);
int input = stopnumb.nextInt();;

if(counter == input){
	System.out.println("done!");
}
else{ 
		System.out.println(counter);
		counter++;
	}
		

} 
}

maar nu zegt hij oneindig lang: done!
en hij zegt ook bij de regel van stopnumb: stopnumb is never closed

ik heb hem toch geclosed met jou code?

Blacksun

Legacy Member
ik voel me echt een noobje nu
ik snap er niks meer van :P

eventjes opnieuw:
ik wil dus een timer en ik kan zelf kiezen tot waar hij telt

dit is de code die ik heb geleerd in mijn tutorial:
Code:
public class tutorial {
	public static void main(String args []) {
int counter = 0;

while (counter <= 1000000) {
	System.out.println(counter);
	counter++;
	}
} 
}

en nu zou ik gewoon iets willen toevoegen dat ik het nummer tot waar hij telt
eerst moet ingeven voor hij gaat tellen

dus ik moet nu een scanner gebruiken? of niet?

forloRn_

Legacy Member
Niet noodzakelijk maar het is wel gemakkelijk. Je hebt hierboven toch de code van je Scanner staan? Vervang die 1000000 door stopnumb.nextInt().

Lefky

Legacy Member
plak dit is in je klasse
heb er direct een mooi voorbeeld van gemaakt

suc6! (programmeren is niet makkelijk als je het nog nooit gedaan hebt)

Code:
import java.util.Scanner;

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

		System.out.println("At what number do i have to stop counting?");

		Scanner input = new Scanner(System.in);
		int maxCount = input.nextInt();

		System.out.println("For loop");
		for (int i = 0; i <= maxCount; i++) {
			System.out.println(i);
		}
		System.out.println("Done!");

		System.out.println("While loop");
		int j = 0;
		while (j <= maxCount) {
			System.out.println(j);
			j++;
		}
		System.out.println("Done!");

		/*
		 * verschil met gewone while is dat deze eerst 1 cyclus van de loop
		 * doorloopt alvorens te controleren of aan de conditie voldaan is, dus
		 * als je bv al aan 5 zit gaat hij toch eerst nog is afdrukken
		 */
		System.out.println("Do while loop");
		int k = 0;
		do {
			System.out.println(k);
			k++;
		} while (k <= maxCount);
		System.out.println("Done!");

		/*
		 * zoals je hier ziet dus
		 */
		System.out.println("Do while loop");
		int l = maxCount;
		do {
			System.out.println(l);
			l++;
		} while (l <= maxCount);
		System.out.println("Done!");
	}
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan