我将如何利用方法返回的值并在 java 中的主要方法中实现它?
How would I utilize a value returned from a method and implement it the main method in java?
我可以将方法中的 return 值传递给主方法,然后在另一个方法中使用该值吗?这听起来令人困惑,但让我尝试用一些代码更好地解释它...
public static void main(String[] args){
ArrayList<GeometricObject> geoList = new ArrayList<GeometricObject>();
findPositionLargestObject(geoList);
System.out.println("BIGGEST OBJECT AT "+ maxIndex +" AREA =
"+geoList.get(maxIndex).getArea());
showObjects(geoList.get(maxIndex));
}
//METHOD RETRIEVING INT OF ARRAYLIST
private static int findPositionLargestObject(
ArrayList<GeometricObject> geoList) {
int maxIndex = 0;
for (int i = 1; i < geoList.size(); i++) {
// AREA OF I COMPARES MAX INDEX
if (geoList.get(i).getArea() > geoList.get(maxIndex).getArea()) {
maxIndex = i;
}
}
return maxIndex;
}
// METHOD FOR PRINTING SINGLE OBJECT OF ARRAYLIST
private static void showObjects(GeometricObject geometricObject) {
System.out.println(geometricObject.toString());
}
假设我什至在主要方法中实例化了索引,例如
int maxIndex = 0;
我希望第一个方法调用到 return 值,将该值赋给变量 maxIndex,然后将该值用于 showObjects 方法。感谢您提供给像我这样的编码新手的任何见解。在main方法中实例化变量不好吗?这里的JAVAC执行背后的逻辑是什么??我的课程中涵盖的课程感觉这是一个需要填补的巨大漏洞。基本上,我如何利用一个方法 returned 的值然后实现到另一个方法?
除非我遗漏了什么,否则请分配您的函数调用的结果。我建议你编程到 List
接口。此外,如果使用 Java 7+,您可以使用菱形运算符 <>
like
List<GeometricObject> geoList = new ArrayList<>(); // <-- diamond operator
// ... populate your List.
int maxIndex = findPositionLargestObject(geoList);
然后是的,您可以使用变量 maxIndex
你可以像这样在main方法中获取return值,
int maxIndex=findPositionLargestObject(geoList);
代码:
public static void main(String[] args){
ArrayList<GeometricObject> geoList = new ArrayList<GeometricObject>();
int maxIndex=findPositionLargestObject(geoList);
System.out.println("BIGGEST OBJECT AT "+ maxIndex +" AREA =
"+geoList.get(maxIndex).getArea());
showObjects(geoList.get(maxIndex));
}
//METHOD RETRIEVING INT OF ARRAYLIST
private static int findPositionLargestObject(
ArrayList<GeometricObject> geoList) {
int maxIndex = 0;
for (int i = 1; i < geoList.size(); i++) {
// AREA OF I COMPARES MAX INDEX
if (geoList.get(i).getArea() > geoList.get(maxIndex).getArea()) {
maxIndex = i;
}
}
return maxIndex;
}
// METHOD FOR PRINTING SINGLE OBJECT OF ARRAYLIST
private static void showObjects(GeometricObject geometricObject) {
System.out.println(geometricObject.toString());
}
变量只是绑定到其类型的值的容器。如果一个方法是 return 类型,您可以将它的 return 值放在另一个代码块中的变量中。提供一个非常基本的示例,以便更容易理解其工作原理:
private String getString(int number) {
if (number == 2) {
return "Not One";
}
return "One";
}
private void printValue(String number) {
if (number.equals("One")) {
System.out.println("i is 1");
} else {
System.out.println("i is not one");
}
}
public static void main(String[] args) {
int i = 1;
String testNum = getString(i);//returns "One"
printValue(testNum);//output: i is 1
}
考虑到这个例子,
int maxIndex = findPositionLargestObject(geoList);
showObjects(geoList.get(maxIndex));
有效。
我可以将方法中的 return 值传递给主方法,然后在另一个方法中使用该值吗?这听起来令人困惑,但让我尝试用一些代码更好地解释它...
public static void main(String[] args){
ArrayList<GeometricObject> geoList = new ArrayList<GeometricObject>();
findPositionLargestObject(geoList);
System.out.println("BIGGEST OBJECT AT "+ maxIndex +" AREA =
"+geoList.get(maxIndex).getArea());
showObjects(geoList.get(maxIndex));
}
//METHOD RETRIEVING INT OF ARRAYLIST
private static int findPositionLargestObject(
ArrayList<GeometricObject> geoList) {
int maxIndex = 0;
for (int i = 1; i < geoList.size(); i++) {
// AREA OF I COMPARES MAX INDEX
if (geoList.get(i).getArea() > geoList.get(maxIndex).getArea()) {
maxIndex = i;
}
}
return maxIndex;
}
// METHOD FOR PRINTING SINGLE OBJECT OF ARRAYLIST
private static void showObjects(GeometricObject geometricObject) {
System.out.println(geometricObject.toString());
}
假设我什至在主要方法中实例化了索引,例如
int maxIndex = 0;
我希望第一个方法调用到 return 值,将该值赋给变量 maxIndex,然后将该值用于 showObjects 方法。感谢您提供给像我这样的编码新手的任何见解。在main方法中实例化变量不好吗?这里的JAVAC执行背后的逻辑是什么??我的课程中涵盖的课程感觉这是一个需要填补的巨大漏洞。基本上,我如何利用一个方法 returned 的值然后实现到另一个方法?
除非我遗漏了什么,否则请分配您的函数调用的结果。我建议你编程到 List
接口。此外,如果使用 Java 7+,您可以使用菱形运算符 <>
like
List<GeometricObject> geoList = new ArrayList<>(); // <-- diamond operator
// ... populate your List.
int maxIndex = findPositionLargestObject(geoList);
然后是的,您可以使用变量 maxIndex
你可以像这样在main方法中获取return值,
int maxIndex=findPositionLargestObject(geoList);
代码:
public static void main(String[] args){
ArrayList<GeometricObject> geoList = new ArrayList<GeometricObject>();
int maxIndex=findPositionLargestObject(geoList);
System.out.println("BIGGEST OBJECT AT "+ maxIndex +" AREA =
"+geoList.get(maxIndex).getArea());
showObjects(geoList.get(maxIndex));
}
//METHOD RETRIEVING INT OF ARRAYLIST
private static int findPositionLargestObject(
ArrayList<GeometricObject> geoList) {
int maxIndex = 0;
for (int i = 1; i < geoList.size(); i++) {
// AREA OF I COMPARES MAX INDEX
if (geoList.get(i).getArea() > geoList.get(maxIndex).getArea()) {
maxIndex = i;
}
}
return maxIndex;
}
// METHOD FOR PRINTING SINGLE OBJECT OF ARRAYLIST
private static void showObjects(GeometricObject geometricObject) {
System.out.println(geometricObject.toString());
}
变量只是绑定到其类型的值的容器。如果一个方法是 return 类型,您可以将它的 return 值放在另一个代码块中的变量中。提供一个非常基本的示例,以便更容易理解其工作原理:
private String getString(int number) {
if (number == 2) {
return "Not One";
}
return "One";
}
private void printValue(String number) {
if (number.equals("One")) {
System.out.println("i is 1");
} else {
System.out.println("i is not one");
}
}
public static void main(String[] args) {
int i = 1;
String testNum = getString(i);//returns "One"
printValue(testNum);//output: i is 1
}
考虑到这个例子,
int maxIndex = findPositionLargestObject(geoList);
showObjects(geoList.get(maxIndex));
有效。