Я должен сделать программу, которая работает следующим образом. сначала он получает число из ввода, а затем получает (число) * строк.
, например:
2
a b
или
3
x1 x2 x3
, затем на выходе печатает что-то вроде этого:
Math.max(a, b)
или
Math.max(x1, Math.max(x2, x3))
Я хочу сделать синтаксис метода Math.max с этим кодом. Я надеюсь, что вы поняли!
Другой пример ввода и вывода:
Вход =
4
a b c d
Выход =
Math.max(a, Math.max(b, Math.max(c, d)))
Может кто-нибудь мне помочь?
Код, который я написал для него, можете ли вы предложить мне некоторые изменения, чтобы сделать его лучше?
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
String[] r = new String[n];
for (int i = 0; i < n; i++) {
r[i] = input.next();
}
printmax(r);
}
public static int i = 0 , j = 0;
public static boolean last = false;
public static void printmax(String [] r){
if (last == true) {
System.out.print(r[r.length - 1]);
while (j < r.length - 1){ System.out.print(")");
j++;
}
}
if (r.length == 2) System.out.print("Math.max(" +r[0] + ", " + r[1] + ")");
if (r.length > 2) {
while (i < r.length -1) {
if (i == r.length -2) last = true;
System.out.print("Math.max(" + r[i] + ", ");
i++;
printmax(r);
}
}
}
}