Gå til innhold

Trenger hjelp til while løkke


Anbefalte innlegg

Skrevet

Trenger hjelp med en ruby oppg:

 

oppgaven lyde slik:

Leap Years. Write a program which will ask for a starting year and an ending year, and then puts all of the leap years between them (and including them, if they are also leap years).

 

Jeg har skrevet slik:

aar = gets.chomp
puts aar
while aar > 2004
 puts aar.to_s
 aar += 4
end

Feilmeldingen blir:

`>': comparison of String with 2004 failed (ArgumentError)

 

Ja, jeg hvet at jeg ikke har løst oppgaven når jeg har gjort slik

Videoannonse
Annonse
Skrevet (endret)
Feilmeldingen blir:

`>': comparison of String with 2004 failed (ArgumentError)

 

Ja, jeg hvet at jeg ikke har løst oppgaven når jeg har gjort slik

7842240[/snapback]

Feilmeldingen sier at en streng ikke kan sammenlignes med tallet 2004. Prøv å caste en av verdiene dine først, e.g. aar.to_i, så skulle ting gå bedre.

Endret av Frank2004
Skrevet (endret)

Takk, trudde jeg hadde prøvd det der jeg..

 

Koden ble slik:

forsteAar = gets.chomp.to_i
sisteAar = gets.chomp.to_i
while forsteAar < sisteAar
 puts forsteAar.to_s
 forsteAar += 4
end

Endret av Mr Chief
  • 2 uker senere...
Skrevet

Sjefen: Hvordan vet du at det første året er et skuddår?

require 'date'
print "From: "
first = gets.chop.to_i

print "To: "
last = gets.chop.to_i

first.upto(last) do |n|
 puts n if Date.gregorian_leap? n
end

:)

Skrevet

Skulle ikke finne ut det under denne posten..

 

som jeg skrev på første post:

Ja, jeg hvet at jeg ikke har løst oppgaven når jeg har gjort slik

 

Men jeg har egntlig ikke aning på hvordan jeg skal klare det :roll:

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...