Java 如何从arraylist中获取整数,将其用于计算并打印
我试图创建一个“算法”,尝试从一个Java 如何从arraylist中获取整数,将其用于计算并打印,java,Java,我试图创建一个“算法”,尝试从一个ArrayList获取一个数字,从另一个ArrayList获取另一个数字 其目的是打印出第一个列表中的一个数字和第二个列表中的另一个数字,两个数字的相加应达到设定的目标。可以给目标一个射程 比如说。第一个ArrayList将有{1,2,3,4,5},第二个将有98765,如果目标为15,则算法应在末尾打印9和5,或者给出的任何内容都在目标范围内,因此,尽管目标为15,但如果错误范围设置为2,范围将为13-17 我不知道这是否有意义,但你可以看这个。我看了它的介绍
ArrayList
获取一个数字,从另一个ArrayList
获取另一个数字
其目的是打印出第一个列表中的一个数字和第二个列表中的另一个数字,两个数字的相加应达到设定的目标。可以给目标一个射程
比如说。第一个ArrayList
将有{1,2,3,4,5},第二个将有98765,如果目标为15,则算法应在末尾打印9
和5
,或者给出的任何内容都在目标范围内,因此,尽管目标为15
,但如果错误范围设置为2
,范围将为13-17
我不知道这是否有意义,但你可以看这个。我看了它的介绍记录,决定开始这个项目。我是一个初学者,因为我刚开始在大学学习java,现在已经3个月了。
忽略奇怪的变量名
'''
public void closesttarget(int-target、int-errorRange、int-Aa、int-Ab、int-Ac、int-Ad、int-Ae、int-Af、int-Ba、int-Bb、int-Bc、int-Bd、int-Be、int-Bf)
{
一号。加上(Aa);
一号加(Ab);
数字一。加上(Ac);
一号。添加(Ad);
第一,加上(Ae);
数字一。加上(Af);
第二,加上(Ba);
第二,加上(Bb);
第二,加上(Bc);
数字二。加(Bd);
第二,加(Be);
数字二。加(Bf);
int指数=0;
int indextwo=0;
int limitone=numbersone.size();
int limittwo=numbers2.size();
而(indexone(目标-错误范围)和&i+numbers2.get(indextwo)<(目标-错误范围)){
indextwo++;
系统输出打印LN(i);
System.out.println(numbers2.get(indextwo));
}
否则{
indextwo++;
}
}
indexone++;
}
} '''
''
int指数=0;
int indextwo=0;
int limitone=numbersone.size();
int limittwo=numbers2.size();
int startrange=目标-错误范围;
int endrange=目标+错误范围;
对于(inti:numbersone){
while(indextwo
这些数字在arraylist中是按顺序排列的吗?它只是随机数。假设我有两组数字,第一组是(-2,4,2,3,5,10),第二组是(15,9,3,11,1,7),所以我想让它遍历第一个列表,所以需要-2,将它添加到第二个列表中的每个数字。所以-2+15,-2+9…如果答案是我的目标(假设13),那么如果-2+15=13,它将打印出-2和15。我在youtube视频上放了一个链接,我是从.omg得到这个概念的。事实上,没关系,我调试并重新编写了代码,现在它可以工作了。
public void closestToTarget(int target, int errorRange, int Aa, int Ab, int Ac, int Ad, int Ae, int Af, int Ba, int Bb, int Bc, int Bd, int Be, int Bf)
{
numbersone.add(Aa);
numbersone.add(Ab);
numbersone.add(Ac);
numbersone.add(Ad);
numbersone.add(Ae);
numbersone.add(Af);
numberstwo.add(Ba);
numberstwo.add(Bb);
numberstwo.add(Bc);
numberstwo.add(Bd);
numberstwo.add(Be);
numberstwo.add(Bf);
int indexone = 0;
int indextwo = 0;
int limitone = numbersone.size();
int limittwo = numberstwo.size();
while (indexone < limitone){
int i = numbersone.get(indexone);
while (indextwo < limittwo) {
if (i + numberstwo.get(indextwo) > (target - errorRange) && i + numberstwo.get(indextwo) < (target - errorRange)) {
indextwo++;
System.out.println(i);
System.out.println(numberstwo.get(indextwo));
}
else {
indextwo++;
}
}
indexone++;
}
} '''
'''
int indexone = 0;
int indextwo = 0;
int limitone = numbersone.size();
int limittwo = numberstwo.size();
int startrange = target - errorRange;
int endrange = target + errorRange;
for (int i : numbersone) {
while (indextwo < limittwo) {
int a = i;
int b = numberstwo.get(indextwo);
int answer = a + b;
if (answer <= endrange && answer >= startrange) {
System.out.println(a + " + " + b + " = " + answer);
indextwo++;
}
else {
indextwo++;
}
}
indextwo = 0;
}
'''