2013-09-25 4 views
1
puts "Let's sum many numbers" 

sum = 0 
num = 0 
while(num != 'x') 
    puts "Press a number and then Enter if you exit press 'x'" 
    num = gets.chomp 
    if num != 'x' 
    num = num.to_i 
    print "#{sum} + #{num} = " 
    sum += num 
    puts "#{sum}" 
    elsif num == 'x' 
    puts "Total sum is #{sum}" 
    break 
    else 
    puts "error!" 
    end 
end 

오류를 표시하는 코드를 작성하려는 경우 사용자가 'x'를 제외한 문자를 누르십시오. 어떻게해야합니까?유형이 문자 인 경우 오류를 넣으려고합니다

+0

? 무엇이 현재 잘못 됐습니까? – doctorlove

+0

게시물을 편집하여이 언어가 무엇이든지간에 이름을 지정하는 태그를 추가 할 수 있습니다. –

+0

이것은 Ruby 언어입니다. –

답변

-1

첫 번째 if을 입력이 숫자인지 확인하는 조건으로 변경하십시오. 'x' 제외

if num =~ /\A[0..9]+\z/ # or /\A\d+\z/ 

코드가 현재 방법 , 모든 문자열을 숫자로 취급됩니다 - 값 0으로 경우에 그들은 정말 수 없습니다 :

이 무엇 언어
'foobar'.to_i # => 0 
관련 문제