JAVA—创建一个读取列表的方法
我提出了一系列方法,遇到了这部分问题: “在程序中测试您的方法,并包括一个将以-999结尾的列表读取到数组中的方法。” 我不知道在这方面该怎么做,希望有人能告诉我,并解释我如何做到这一点。这是我的密码: (注意:显示“4-终止方法”部分的注释为空。这就是我试图编写代码的地方)JAVA—创建一个读取列表的方法,java,arrays,list,methods,Java,Arrays,List,Methods,我提出了一系列方法,遇到了这部分问题: “在程序中测试您的方法,并包括一个将以-999结尾的列表读取到数组中的方法。” 我不知道在这方面该怎么做,希望有人能告诉我,并解释我如何做到这一点。这是我的密码: (注意:显示“4-终止方法”部分的注释为空。这就是我试图编写代码的地方) import java.util.Scanner; 公共类问题3{ //1-最大值法// 公共静态int max(int[]arr) { int tmpMax=arr[0]; 对于(int i=1;itmpMax) { t
import java.util.Scanner;
公共类问题3{
//1-最大值法//
公共静态int max(int[]arr)
{
int tmpMax=arr[0];
对于(int i=1;itmpMax)
{
tmpMax=arr[i];
}
}
返回tmpMax;
}
//2-最小值法//
公共静态整数最小值(整数[]arr)
{
int-tmpMin=arr[0];
对于(int i=1;i
编辑#1:
已经快24小时了,所以我会给你一些关于“包含一个读取列表的方法…”要求的更多提示
您希望使用在用户输入值-999时结束的循环。还需要考虑的是将值读入数组,这样就意味着每次都必须通过循环调整数组的大小。
所以你的逻辑是这样的:
System.in
中获取第一个整数,并将其存储在变量中如果你真的有雄心壮志,你可以学习和/或其他测试框架(如)现在还不完全清楚要求是什么,但我猜它希望你重复读取
系统中的数据。在
中,将读取的每个整数值放入一个数组,直到遇到值-999为止。我还想,-999不应该放在数组中,因为它是终止符。至于“在程序中测试您的方法”,它只是意味着您应该编写一些调用其他代码的代码,并验证它是否正常工作。例如,您可能有一个方法testMin
,该方法调用min
,并根据您的期望检查其输出?要检查输入的数字是否遇到-999?好的,您可以使用if
语句,但是您应该考虑应该使用哪个编程控制结构来重复一段代码,直到满足条件为止。如果您仍然有问题,请参阅我昨天编写的答案的更新。
import java.util.Scanner;
public class Problem3 {
//1-MAXIMUM METHOD//
public static int max(int[] arr)
{
int tmpMax = arr[0];
for(int i = 1; i < arr.length; i++)
{
if(arr[i] > tmpMax)
{
tmpMax = arr[i];
}
}
return tmpMax;
}
//2-MINIMUM METHOD//
public static int min(int[] arr)
{
int tmpMin = arr[0];
for(int i = 1; i < arr.length; i++)
{
if(arr[i] < tmpMin)
{
tmpMin = arr[i];
}
}
return tmpMin;
}
//3-MIN-MAX METHOD//
public static int[] maxMin(int[] arr)
{
int[] myArray = new int [2];
myArray[0] = min(arr);
myArray[1] = max(arr);
return myArray;
}
//4-TERMINATION METHOD//
public static int termination(int[] arr)
{
}
//5-MAIN-METHOD//
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int a, b, c, d, e;
System.out.println("Input the Numbers: ");
a = input.nextInt();
b = input.nextInt();
c = input.nextInt();
d = input.nextInt();
e = input.nextInt();
int[] test = {a, b, c, d, e};
System.out.println("The Maximum Number is: " + min(test));
System.out.println("The Minimum Number is: " + max(test));
int [] x = maxMin(test);
System.out.println("Min: " + x[0]);
System.out.println("Max: " + x[1]);
}
}
public class TestProblem3{
public static void main(String[] args){
testMin();
}
public static void testMin(){
int[] data = {1,2,3,4,5};
int minValue = Problem3.min(data);
if( minValue != 1 )
System.err.println("FAILURE expected 1, but actual value is "+minValue);
data = new int[]{-1,2,3,4,5};
minValue = Problem3.min(data);
if( minValue != -1 )
System.err.println("FAILURE expected -1, but actual value is "+minValue);
//More tests here!
}
//More test methods here!
}