如何在单独方法中使用Java主类文件中定义的字符串变量
前置注意事项
- 你当前的
compute_product方法中用到了Arrays工具类,需要在代码顶部导入包:import java.util.Arrays; - 方法里的空for循环(遍历textStr的那行)没有实际作用,可以直接删除
两种常用的获取输入字符串并传入方法的实现方式
方式1:通过main方法的命令行参数获取
启动Java程序时传入的参数会自动封装到main方法的String[] args数组中,如果你要传入整串空格分隔的数字,启动时用引号把整段字符串包裹即可,直接取args[0]作为入参传入方法:
import java.util.Arrays; import java.util.Scanner; public class ProductCalculator { // 你编写的compute_product方法 public int compute_product (String v) { System.out.println("传入的字符串为:" + v); String[] textStr = v.split(" "); int[] num = new int[textStr.length]; for(int i=0;i<num.length;i++) { num[i] = Integer.parseInt(textStr[i]); } int product = Arrays.stream(num).reduce(1, (a, b) -> a * b); return product; } public static void main(String[] args) { ProductCalculator calculator = new ProductCalculator(); // 取命令行第一个参数作为输入字符串 String inputStr = args[0]; int result = calculator.compute_product(inputStr); System.out.println("计算得到的乘积为:" + result); } }
运行方式:编译完成后执行命令
java ProductCalculator "2 3 4 5",输出结果为120
方式2:运行时从控制台动态输入
如果需要程序运行后手动输入字符串,用Scanner类获取控制台输入即可:
import java.util.Arrays; import java.util.Scanner; public class ProductCalculator { // 你编写的compute_product方法 public int compute_product (String v) { System.out.println("传入的字符串为:" + v); String[] textStr = v.split(" "); int[] num = new int[textStr.length]; for(int i=0;i<num.length;i++) { num[i] = Integer.parseInt(textStr[i]); } int product = Arrays.stream(num).reduce(1, (a, b) -> a * b); return product; } public static void main(String[] args) { ProductCalculator calculator = new ProductCalculator(); Scanner scanner = new Scanner(System.in); System.out.println("请输入空格分隔的整数字符串:"); // 读取整行输入作为字符串 String inputStr = scanner.nextLine(); scanner.close(); int result = calculator.compute_product(inputStr); System.out.println("计算得到的乘积为:" + result); } }
运行方式:编译完成后执行
java ProductCalculator,控制台提示输入时输入2 3 4 5回车即可得到结果120
内容的提问来源于stack exchange,提问作者Danbo
相关产品推荐
相关产品推荐

