计算输入的一串数字中奇数的乘机

Problem Description
给你n个整数,求他们中所有奇数的乘积。
Input
输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。
Output
输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
Sample Input
3 1 2 3
4 2 3 4 5
Sample Output
3
15

package org.mytest;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;

public class SignalData {


	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int n , a , result;
		boolean wh_singl;
		HashSet<Integer> singal_data ;
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		while(in.hasNextInt()){
			singal_data = new HashSet<Integer>();
			n = in.nextInt();
			for(int i = 0 ; i < n ; i ++){
				a = in.nextInt();
				if((singal_data.contains(a))){//如果该数字已经加入到hashset里面就忽略掉它,继续统计后面的数据
					continue;
				}else{
					wh_singl = judge(a);
					if(wh_singl == true){
						singal_data.add(a);
					}
				}
			}
			Iterator iterator = singal_data.iterator();
			result = 1;
			while(iterator.hasNext()){
				result *=(Integer)iterator.next();
			}
				
			
			System.out.println(result);
		}
		
	}
	
	public static boolean judge(int data)
	{
		if(data % 2 != 0)
		{
			return true;
		}
		return false;
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值