java程序:求小于等于某数的最大指定数

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:42:09
如题:比如指定数是:1、8、5、3、9传进来的参数(即题中某数)是6,那么小于6的最大指定数是5,返回结果5

//将指定的数减去传入的参数.然后找小于0的,并且最大的那个数(如果没有,就说明没有比指定数小的).
//1,8,5,3,9 减 6
//-5,3,-1,-3,3
//其中-1是小于0的最大数.
public int compute(int num)
{
int[] nums = new int[] { 1,8,5,3,9 }; //记录了指定的数
int len = nums.length; // 记录指定数的多少

int[] temps = new int[len]; // 假设不能修改指定的数,新建立一个数组存放差值

for(int i = 0; i < len; i++) //计算差值
{
temps[i] = nums[i] - num;
}

int temp = 0; //记录差值中小于0,并且最大的数。
int index = -1; // 记录在数组中的位置
for(int i = 0; i < len; i++)
{
if (temps[i] < 0)
{
if(temp == 0) // 如果temp为0说明这时的temps[i]为第一个小于0的数,赋给temp,并记录index
{
temp = temps[i];
index = i;
}
else if( temps[i] > temp ) //如果temps[i] >temp , 说明当前的更符合条件,替换。
{
temp = temps[i];
index = i;
}
}
}
if ( index == -1) // 如果index是-1 说明没有比传入数小的。在此返回数本身。
return num;
else
return nums[index];

用java语言实现对素数的编程 并实现当该数大于等于1时返回真小于1时返回假 求一些数学符号的打法如:大于 小于 大于等于 小于等于 除号 输入两个数,判断两个数的关系是“大于”、等于”或“小于”,并输出结果。 甲数的三分之一等于乙的3倍那么甲数A等于B小于C大于 JAVA数独的程序,怎么写? 用java编程,求axx+bx+c=0的根 考虑d=b*b-4ac,大于0,等于0,小于0三种情况 请神看一下“java的求1000以内的完数”这个程序的问题,怎么修改? 谁能用java给我编一个求1000以内的水仙花数的程序呢? 求用JAVA程序编写一个程序:求100到500能被5整除的数. 大等于2008,小于等于8002的整数中,个位与十位数字不同的数有多少个?