我一直试图弄清楚如何根据从Scanner
类获得的输入来计算面积和体积。练习包括一次接收多对半径和高度。
我已经编写了方法并对其进行了测试,因此它们应该可以工作。我遇到的问题是当我想使用“扫描仪”中的输入并使用它们进行计算时。
这是我的代码(我没有包括方法):
Scanner keyboard = new Scanner(System.in);
int radius = 0;
int height = 0;
System.out.print("Enter values ");
String input = keyboard.nextLine();
String[] items = input.split(" ");
int[] numbers = new int[items.length];
for (int i = 0; i < items.length; i++)
{
numbers[i] = Integer.parseInt(items[i]);
}
for (int i = 0; i < numbers.length/2; i++)
{
numbers[i] = radius;
numbers[i + 1] = height;
double result = area(radius);
double result1 = area (radius,height);
double result2 = volume (radius,height);
System.out.println("");
System.out.print("r = " + radius + " ");
System.out.print("h = " + height);
System.out.println("");
System.out.print("Base area: ");
System.out.printf("%.2f", result);
System.out.println("");
System.out.print("Surface area: ");
System.out.printf("%.2f", result1);
System.out.println("");
System.out.print("Volym: ");
System.out.printf("%.2f", result2);
System.out.println("");
}
keyboard.nextLine();
这些是结果:
Input: 2 4 5 1
Output:
r = 0 h = 0
Base area: 0.00
Surface area: 0.00
Volym: 0.00
r = 0 h = 0
Base area: 0.00
Surface area: 0.00
Volym: 0.00
最佳答案
您必须这样做:
for (int i = 0; i < numbers.length; i+=2)
{
radius = numbers[i];
height = numbers[i + 1];
.
.
.
}