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