美文网首页
每日一练63——Java算猫年狗年(8kyu)

每日一练63——Java算猫年狗年(8kyu)

作者: 砾桫_Yvan | 来源:发表于2018-08-01 10:32 被阅读0次

题目

我有一只猫和一只狗。

我和小猫/小狗在同一时间得到它们。那是humanYears(人年)多年前的事了。

现在回到各自的年龄为[ humanYearscatYearsdogYears]

注意:

  1. humanYears> = 1
  2. humanYears只是整数
  • 猫年
    15 第一年的猫年
    +9 第二年的猫年
    +4 之后每年的猫年
  • 狗年
    15 第一年的狗年
    +9 第二年的狗年
    +5 之后每年的狗年

参考

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertArrayEquals;
import org.junit.runners.JUnit4;


public class ExampleTest {

  @Test
  public void one() {
    assertArrayEquals(new int[]{1,15,15}, Dinglemouse.humanYearsCatYearsDogYears(1)); 
  }
  
  @Test
  public void two() {
    assertArrayEquals(new int[]{2,24,24}, Dinglemouse.humanYearsCatYearsDogYears(2)); 
  }

  @Test
  public void ten() {
    assertArrayEquals(new int[]{10,56,64}, Dinglemouse.humanYearsCatYearsDogYears(10)); 
  }

}

解题

My

public class Dinglemouse {

  public static int[] humanYearsCatYearsDogYears(final int humanYears) {
    int[] arr = new int[3];
    arr[0] = humanYears;
    if(humanYears == 1) {
      arr[1] = 15;
      arr[2] = 15;
    } else if(humanYears == 2) {
      arr[1] = 24;
      arr[2] = 24;
    } else if(humanYears > 2) {
      arr[1] = 24 + (humanYears-2) * 4;
      arr[2] = 24 + (humanYears-2) * 5;
    }
    return arr;
  }

}

Other

一个字,Clever!

public class Dinglemouse {
  public static int[] humanYearsCatYearsDogYears(final int y) {
    return new int[]{y,y==1?15:16+4*y,y==1?15:14+5*y};
  }
}

后记

别人总是比你聪明,这样你就有动力了。

相关文章

网友评论

      本文标题:每日一练63——Java算猫年狗年(8kyu)

      本文链接:https://www.haomeiwen.com/subject/bpdlvftx.html