Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从方法打印数组的值和位置_Java_Arrays_Methods_Return - Fatal编程技术网

Java 从方法打印数组的值和位置

Java 从方法打印数组的值和位置,java,arrays,methods,return,Java,Arrays,Methods,Return,我正在编写一个程序,该程序接受用户对数组的输入。我找到的一个方法是LowestTempinarray返回最低位(数组中的位置)。我想在主方法中打印索引和该点的值。我一直在寻找,我不知道一个简单的方法来做到这一点。现在我只是打印了方法中的数据,没有返回值。这是可行的,但我想知道如何从主菜单打印值。所以我想知道的又一次是,如何从main中的方法打印最低温度和最低日期 以下是我的代码: public static int FindLowestTempInArray(int[] T) { //

我正在编写一个程序,该程序接受用户对数组的输入。我找到的一个方法是LowestTempinarray返回最低位(数组中的位置)。我想在主方法中打印索引和该点的值。我一直在寻找,我不知道一个简单的方法来做到这一点。现在我只是打印了方法中的数据,没有返回值。这是可行的,但我想知道如何从主菜单打印值。所以我想知道的又一次是,如何从main中的方法打印最低温度和最低日期

以下是我的代码:

public static int FindLowestTempInArray(int[] T)
{
    // Returns the index of the lowest temperature in array T
    int lowestTemp = Uninitialized;
    int lowestDay = 0;

    for(int day = 0; day < T.length; day++)
    {
             if(T[day] != Uninitialized && ( T[day] < lowestTemp || lowestTemp == Uninitialized))
             {
                     lowestTemp = T[day];
                     lowestDay = day;     

                     return lowestTemp;
             }            
    }
    return lowestDay;   
}    

public class Weather {

private static final int Uninitialized = -999;

public static void main(String[] args) {
    // TODO Auto-generated method stub

    int [] high = new int[32];
    int [] low = new int[32];

    Init (high);
    Init(low);

    LoadData(high,low);
    Report(high, low);

    FindAvg(high);
    //FindAvg(low);
    //why do i not need to do both the one above and FindAvg(low);
    System.out.println("The average for the high is: " + FindAvg(high));
    System.out.println("The average for the low is: " + FindAvg(low));

    //Lowest(high, low);

    FindLowestTempInArray(high);
    System.out.println(FindLowestTempInArray(high) + "\n" + FindLowestTempInArray(low));


    Highest(high,low);

    System.out.println("\n" + "The highest high is: " + Highest(high, low) + " degrees." + "\n" +
            "This temperature was recorded on day: " + Highest(high, low)); 
    System.out.println("\n" + "The highest low is: " + Highest(low, high) + " degrees." + "\n" +
            "This temperature was recorded on day: " + Highest(low, high));



//  LeastToGreatest(high, low);
}
public static int FindLowestTempInArray(int[]T)
{
//返回数组T中最低温度的索引
int lowestTemp=未初始化;
int最低日=0;
对于(整数天=0;天
一种方法是将
public static int FindLowestTempInArray(int[]T)
的返回类型更改为
int[]
,以便可以同时返回两个值。否则,只要执行一条return语句,该方法就会退出

您可以使用最低[0]表示一天,最低[1]表示温度,反之亦然

另一种方法是分别获取这两个值(使用参数来区分所需的返回值)并将它们存储在两个变量中。其思想是将这些值存储在主方法中的某个位置,以便能够使用它们


完成此操作后,您可以根据需要使用
System.out
来显示值。

一种方法是将
公共静态int-findlowesttempinaray(int[]T)
的返回类型更改为
int[]
,以便您可以返回两个值。否则,只要执行一条return语句,该方法就会退出

您可以使用最低[0]表示一天,最低[1]表示温度,反之亦然

另一种方法是分别获取这两个值(使用参数来区分所需的返回值)并将它们存储在两个变量中。其思想是将这些值存储在主方法中的某个位置,以便能够使用它们

完成此操作后,您可以根据需要使用
System.out
显示值。

有两种方法:

  • 将FindLowestTempInArray的返回类型更改为int[]即整数数组,并说int[0]是最低温度,int[1]是最低日

  • 您可以使用两个类变量创建一个新的类,比如说Temperature,比如Temperature和day。在方法FindLowestTempInArray中,您可以使用返回类型Temperature,并且可以在该方法中设置Temperature对象

  • 下面是返回类型int[]的示例

    public class Weather {
    
    private static final int Uninitialized = -999;
    
    public static void main(String[] args) {
    
        int[] low = new int[args.length];
    
        for (int i = 0; i < args.length; i++) {
            System.out.print(args[i] + " ");
            low[i] = Integer.parseInt(args[i]);
        }
        System.out.println("\n");
        int[] lowest = new int[2];
        lowest = FindLowestTempInArray(low);
        System.out.println(lowest[0] + "   " + lowest[1]);
    
    }
    
    public static int[] FindLowestTempInArray(int[] T) {
        int[] lowest = new int[2];
        lowest[0] = Uninitialized;
        lowest[1] = 0;
        for (int day = 0; day < T.length; day++) {
            if (T[day] != Uninitialized
                    && (T[day] < lowest[0] || lowest[0] == Uninitialized)) {
                lowest[0] = T[day];
                lowest[1] = day;
            }
        }
        return lowest;
    }
    
    公共类天气{
    私有静态final int Uninitialized=-999;
    公共静态void main(字符串[]args){
    int[]低=新int[args.length];
    对于(int i=0;i
    }

    解决方案2(内部类):

    公共类天气{
    私有静态final int Uninitialized=-999;
    公共静态void main(字符串[]args){
    int[]低=新int[args.length];
    对于(int i=0;ipublic class Weather {
    
    private static final int Uninitialized = -999;
    
    public static void main(String[] args) {
    
        int[] low = new int[args.length];
    
        for (int i = 0; i < args.length; i++) {
            System.out.print(args[i] + " ");
            low[i] = Integer.parseInt(args[i]);
        }
        System.out.println("\n");
    
        Weather.Temperature temp = FindLowestTempInArray(low);
        System.out.println(temp.temperature + "   " + temp.day);
    
    }
    
    public static Weather.Temperature FindLowestTempInArray(int[] T) {
    
        Weather.Temperature temp=new Weather.Temperature();
        temp.temperature = Uninitialized;
        temp.day = 0;
        for (int day = 0; day < T.length; day++) {
            if (T[day] != Uninitialized
                    && (T[day] < temp.temperature || temp.temperature == Uninitialized)) {
                temp.temperature = T[day];
                temp.day = day;
            }
        }
        return temp;
    }
    
    static class Temperature{
        private int temperature;
        private int day;
    
        public int getTemperature() {
            return temperature;
        }
        public void setTemperature(int temperature) {
            this.temperature = temperature;
        }
        public int getDay() {
            return day;
        }
        public void setDay(int day) {
            this.day = day;
        }
    }