@hayata4513 (横井 隼太)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

プログラミング ruby java 変換

解決したいこと

rubyで書いたこのコードを
javaに翻訳したいのですがどのようにかけばよいでしょう?
 
このコードは例えば
3:fizz 5:buzz 3
のような文字列を入力したとき
文字列の最後の数字(今回であれば3)で割り切れることが出来れば
割りきれたほうの数字の横の文字
fizz
を出力します。
したがって
3:fizz 5:buzz 5であれば buzzを出力し
5:fizz 7:buzz 10であれば fizzを出力します。

3:fizz 5:buzz 15のようにどちらでも割り切れる場合は数字の小さい順に fizzbuzz
と出力します。
なので 5:fizz 3:buzz 15であれば buzzfizz
2:fizz 6:buzz 3:kuzzであれば fizzkuzzbuzz
となります。

3:fizz 5:buzz 1 のようにどちらでも割り切れないものは最後の数字(今回であれば 1 )
を出力します。

該当するソースコード

def main()
  input_text = gets
  split_text = input_text.split(' ')

  target_num = split_text.last.to_i
  mapping_str = split_text[0..split_text.length - 2]

  mapping_array = []
  mapping_str.each do |map|
    tmp = map.split(':')
    hash = {
      num: tmp[0].to_i,
      str: tmp[1]
    }
    mapping_array.push(hash)
  end

  sorted_mapping_array = mapping_array.sort{ |a, b|  a[:num] <=> b[:num] }

  output = ''
  sorted_mapping_array.each do |map|
    if target_num % map[:num] == 0
      output += map[:str]
    end
  end
  if output == ''
    output = target_num
  end

  puts output
end

main()


0 likes

No Answers yet.

Your answer might help someone💌