我试图找出如何将变量从我的主方法传递到另一个方法?
我的主要目标是制作一个将用户输入传递给数组的递归程序。然后使用递归函数打印出最大的整数。这就是我到目前为止所做的。
import java.io.* ;
import java.util.Scanner;
public class MaxElement {
public static void main(String args[]){
// Initialize the number array
int[] Number;
Number = new int [5];
Scanner lop = new Scanner(System.in);
System.out.println(" Please enter 5 numbers.");
String a= lop.nextLine();
int f = Integer.parseInt(a);
Number[0]=f;
System.out.println("Enter 4 more numbers.");
String b= lop.nextLine();
int g = Integer.parseInt(b);
Number[1]=g;
System.out.println("Enter 3 more numbers.") ;
String c= lop.nextLine();
int h = Integer.parseInt(c);
Number[2]=h;
System.out.println("Enter 2 more numbers.");
String d= lop.nextLine();
int i = Integer.parseInt(d);
Number[3]=i;
System.out.println("Enter 1 more number.");
String e= lop.nextLine();
int j = Integer.parseInt(e);
Number[4]=j;
lop.close();
System.out.println( f+g+h+i+j);
}
void MaxElements() {
MaxElement M = new MaxElement();
M.f= k;
答案 0 :(得分:0)
我正在试图弄清楚如何将变量从我的main方法传递给另一个?
这是一种方法。
private static String getName(BufferedReader input) {
System.out.println("Do You Remember What Your Name Is?");
try {
String name = input.readLine();
return name;
} catch (IOException ioe) {
ioe.printStackTrace();
return "";
}
}
这就是你在主方法中要做的事情。
String name = getName(input);
递归方法只是一种从方法内部调用直到满足条件的方法。您的输入代码可以替换为以下代码。
package com.ggl.fse;
import java.util.Scanner;
public class Recursive {
public static void main(String[] args) {
Scanner lop = new Scanner(System.in);
int length = 5;
int[] numbers = new int[length];
String s = "Please enter " + length + " numbers.";
System.out.println(s);
numbers = getNumbers(lop, numbers, 0, length);
for (int i = 0; i < length; i++) {
System.out.println(numbers[i]);
}
lop.close();
}
private static int[] getNumbers(Scanner lop, int[] numbers,
int index, int length) {
String s = lop.nextLine();
int a = Integer.parseInt(s);
numbers[index] = a;
if (index < (length - 1)) {
s = "Enter " + (length - index - 1) + " more numbers.";
System.out.println(s);
getNumbers(lop, numbers, ++index, length);
}
return numbers;
}
}
答案 1 :(得分:0)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
类递归 {
static int max(int n,int max)
{
return n>max?n:max;
}
static int test(int []a,int n,int max)
{
if(n==a.length)
{
return max;
}
return test(a,n+1,max(a[n],max));
}
public static void main(String[] args)throws IOException {
InputStreamReader r=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(r);
int arr[]=new int[7];
System.out.print("enter the elements ");
for(int i=0;i<6;i++)
{
arr[i]=Integer.parseInt(br.readLine());
}
int max=test(arr,0,0);
的System.out.println(最大值); }
}