Nästlade if-satser (java)|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
Nästlade if-satser (java)
Fredrik Håkansson
Member
Medlem
Forum Posts: 8296
Member Since:
August 20, 2001
sp_UserOfflineSmall Offline
1
September 27, 2004 - 8:28 pm
sp_Permalink sp_Print

Hej. Kan någon säga vad som är fel i detta program. Man ska mata in ett tal och om det talet är mellan 1-9 så ska programmet skriva ut att det ligger inom intervalet. Om det ligger utanför, tex -5,0,10 så ska programmet skriva ut att det ligger utanför intervalet. Anger man -5 så funkar det, men anger man 10 så funkar det inte...

import extra.*;

public class Labb2Uppg5 {
public static void main(String[] arg) {
int x = 0;
System.out.print("Ange ett tal: ");
x = Input.readInt();
if (x < 10) {
if (x > 0)
System.out.println("Talet " + x + " ligger inom intervallet");
}
else
System.out.println("Talet " + x + " ligger inte inom intervallet");
Input.paus();
}
}
desdecado
Kommer du hit ofta?
Medlem
Forum Posts: 700
Member Since:
July 14, 2003
sp_UserOfflineSmall Offline
732195
September 27, 2004 - 8:52 pm
sp_Permalink sp_Print

din else ligger innanför <10... så det skrivs alldrig ut något om talet är >10...då slutar din funktion helt tvärt...du får lägga till en else i slutet...

[edit]äsch, glöm det jag såg fel på dina {}[/edit]

ren
Kommer du hit ofta?
Medlem
Forum Posts: 833
Member Since:
January 15, 2004
sp_UserOfflineSmall Offline
732203
September 27, 2004 - 9:00 pm
sp_Permalink sp_Print

Rent spontant skulle jag säga att det är negativa tal som inte fungerar.

Edit: Det ser ut som det är en inlämningsupggift, så därför vill jag inte hjälpa till för mycket, men testa lite olika värden, tex -5, 5 och 15 och kör igenom programmet för hand.

Slartibartfast
Kommer du hit ofta?
Medlem
Forum Posts: 577
Member Since:
August 15, 2002
sp_UserOfflineSmall Offline
732247
September 27, 2004 - 9:53 pm
sp_Permalink sp_Print

vad jag ser verkar en del klamrar fattas...

testa med:

if (x < 10) 
{
if (x > 0)
{
System.out.println("Talet " + x + " ligger inom intervallet");
}
}
else
{
System.out.println("Talet " + x + " ligger inte inom intervallet");
Input.paus();
}
ren
Kommer du hit ofta?
Medlem
Forum Posts: 833
Member Since:
January 15, 2004
sp_UserOfflineSmall Offline
732251
September 27, 2004 - 10:01 pm
sp_Permalink sp_Print

Slartibartfast wrote: vad jag ser verkar en del klamrar fattas...

Dom klammrarna hjälper inte, det t.om. gör att pusfunktionen endast körs då x >= 10.

Fast jag anser att man bör använda klammrar öven då man bara ska köra en sats. Det gör det en aning lättare att se vilket block en sats tillhör och man slipper missa att lägga till klammrar då man vill köra flera satser i blocket.

Edit:
[OT] Intressant att personen bakom det uselt odokumenterade Output-klassen valt den Svenska stavningen paus och inte pause då alla andra funktioner är på Engelska. Fast å andra sidan så är det en salig blandning mellan svenska och engelska i hela Extra-paketet. Sen bör man dessutom lägga upp ordentlig javadoc dokumentation till ens studenter om de ska använda paket som inte ingår i Suns SDK.
[/OT]

Slartibartfast
Kommer du hit ofta?
Medlem
Forum Posts: 577
Member Since:
August 15, 2002
sp_UserOfflineSmall Offline
732262
September 27, 2004 - 10:15 pm
sp_Permalink sp_Print

Jasså, visste inte att man kunde lämna bort klamrarna... 😀

Men sen så har jag egentligen aldrig använt java heller, bara javascript 😛

kuzze
It’s a first time for everybody
Medlem
Forum Posts: 3
Member Since:
June 15, 2004
sp_UserOfflineSmall Offline
732282
September 27, 2004 - 11:17 pm
sp_Permalink sp_Print

Jag skulle nog göra så här...
if (x <= 10)
if (x >= 0)
annars tar if satsen bara tal som är mindre än 10 och större än 0

ren
Kommer du hit ofta?
Medlem
Forum Posts: 833
Member Since:
January 15, 2004
sp_UserOfflineSmall Offline
732285
September 27, 2004 - 11:23 pm
sp_Permalink sp_Print

kuzze wrote: Jag skulle nog göra så här...
if (x <= 10)
if (x >= 0)
annars tar if satsen bara tal som är mindre än 10 och större än 0

Men det är ju precis vad som ska göras, talen 1,2,3,4,5,6,7,8,9 ska ge svaret att talet ligger i intervallet.

moddanrazer
Kommer du hit ofta?
Medlem
Forum Posts: 818
Member Since:
March 10, 2003
sp_UserOfflineSmall Offline
732325
September 28, 2004 - 5:59 am
sp_Permalink sp_Print

släng in 2 if satser till där du anger att om x >= 10 och x <= -5 .. så hade jag nog gjort..dock skriver jag inte java..men borde bli samma..tstat?

ren
Kommer du hit ofta?
Medlem
Forum Posts: 833
Member Since:
January 15, 2004
sp_UserOfflineSmall Offline
732332
September 28, 2004 - 6:38 am
sp_Permalink sp_Print

moddanrazer wrote: släng in 2 if satser till där du anger att om x >= 10 och x <= -5 .. så hade jag nog gjort..dock skriver jag inte java..men borde bli samma..tstat?

Förrutom att det inte är intervallet (-5, 10) som ska kollas.

Fredrik Håkansson
Member
Medlem
Forum Posts: 8296
Member Since:
August 20, 2001
sp_UserOfflineSmall Offline
732410
September 28, 2004 - 8:21 am
sp_Permalink sp_Print

ren> Jo det är en labbupggift... Men jag förstår hur man använder nästlade if-satser. Jag kan bara inte få just det här programmet att fungera 😀

Men efter att jag tittat på det med lite vaknare ögon så har jag nog hittat vad problemet ligger.

moddanrazer
Kommer du hit ofta?
Medlem
Forum Posts: 818
Member Since:
March 10, 2003
sp_UserOfflineSmall Offline
733246
September 28, 2004 - 9:24 pm
sp_Permalink sp_Print

ren wrote: [quote=moddanrazer]släng in 2 if satser till där du anger att om x >= 10 och x <= -5 .. så hade jag nog gjort..dock skriver jag inte java..men borde bli samma..tstat?

Förrutom att det inte är intervallet (-5, 10) som ska kollas.

oj, sätt 1 och 9 där då.. och sen kör else på resten

zcorpan
Kommer du hit ofta?
Medlem
Forum Posts: 848
Member Since:
December 26, 2003
sp_UserOfflineSmall Offline
733273
September 28, 2004 - 10:20 pm
sp_Permalink sp_Print

går det inte att:

if ((x > 0) && (x < 10))
{
...
}

?

ren
Kommer du hit ofta?
Medlem
Forum Posts: 833
Member Since:
January 15, 2004
sp_UserOfflineSmall Offline
733365
September 29, 2004 - 6:47 am
sp_Permalink sp_Print

zcorpan wrote: går det inte att:

if ((x > 0) && (x < 10))
{
...
}

?

Det går att göra så, men det fick man inte. Detta fragår desvärre ej i tråden men om man listar ut att DiDi läser nybörjarkurs i java på MAH så kan man se i labbuppgifterna att man inte får använda && och sånt i den här uppgiften. Men med ditt förslag får man nog den snyggaste och mest lättlästa lösningen.

Fredrik Håkansson
Member
Medlem
Forum Posts: 8296
Member Since:
August 20, 2001
sp_UserOfflineSmall Offline
733404
September 29, 2004 - 8:13 am
sp_Permalink sp_Print

Jajaja... Sluta tjafsa 🙂

Jag har fixat det nu... helt själv 😀

TERdON
Member
Medlem
Forum Posts: 2919
Member Since:
October 7, 2002
sp_UserOfflineSmall Offline
736928
October 2, 2004 - 10:35 pm
sp_Permalink sp_Print

ren wrote:
Edit:
[OT] Intressant att personen bakom det uselt odokumenterade Output-klassen valt den Svenska stavningen paus och inte pause då alla andra funktioner är på Engelska. Fast å andra sidan så är det en salig blandning mellan svenska och engelska i hela Extra-paketet. Sen bör man dessutom lägga upp ordentlig javadoc dokumentation till ens studenter om de ska använda paket som inte ingår i Suns SDK.
[/OT]

Extra-paket? Kan kika i min Java-bok vid tillfälle, Jan Skansholm hade ett sådant, och kan även svenska...

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 1030
Currently Online:
Guest(s) 495
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL