金色十月线上编程比赛第一题:小女孩数数

最近几天没什么事,偶然看见csdn上面有高效俱乐部挑战题就做了一下

要求及题意描述:

一个小女孩正在用左手手指数数,从1数到n。她从拇指算作1开始数起,然后,食指为2,中指为3,无名指为4,小指为5。接下来调转方向,无名指算作6,中指为7,食指为8,大拇指为9,如此反复。问最后会停在那个手指上?用编号1、2、3、4、5依次表示大拇指、食指、中指、无名指、小指。 输入格式: 输入多组数据。每组数据占一行,只包含一个整数n(1<=n<=1000000000)。 输出格式: 每组数据占一行,只包含一个介于1和5之间的整数,表示最后停留的手指。

package com.junl.scott.goldenfulantumn;

import java.util.ArrayList;
import java.util.List;

public class OneCount
{

	public static void main(String[] args)
	{
		List<Integer> resultList = new ArrayList<Integer>();
		resultList = OneCount.getResult(OneCount.initNumber().getRealNumber());
		for (Integer number : resultList)
		{
			System.out.println(number);
		}
	}

	public static NumberCount initNumber()
	{
		NumberCount numberCount = new NumberCount();
		List<Integer> numberList = new ArrayList<Integer>();
		numberList.add(10);
		numberList.add(5);
		numberList.add(2);
		numberList.add(4);
		numberList.add(102);
		numberList.add(101);
		numberList.add(98);
		numberCount.setNumberOfNumber(7);
		numberCount.setRealNumber(numberList);
		return numberCount;
	}

	public static List<Integer> getResult(List<Integer> numberList)
	{
		List<Integer> resultList = new ArrayList<Integer>();
		for (int i = 0; i < numberList.size(); i++)
		{
			int number = numberList.get(i);
			switch (number % 10)
			{
				case 1:
				case 0:
					resultList.add(1);
					break;
				case 2:
				case 9:
					resultList.add(2);
					break;
				case 3:
				case 8:
					resultList.add(3);
					break;
				case 4:
				case 7:
					resultList.add(4);
					break;
				case 5:
				case 6:
					resultList.add(5);
					break;
				default:
					break;
			}
		}
		return resultList;
	}
}

class NumberCount
{
	int numberOfNumber;
	List<Integer> realNumber;

	public int getNumberOfNumber()
	{
		return numberOfNumber;
	}

	public void setNumberOfNumber(int numberOfNumber)
	{
		this.numberOfNumber = numberOfNumber;
	}

	public List<Integer> getRealNumber()
	{
		return realNumber;
	}

	public void setRealNumber(List<Integer> realNumber)
	{
		this.realNumber = realNumber;
	}

}


 

这道题没有难度,但要注意方式,最好使用switch语句,结果会容易理解。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值