【发布时间】:2014-03-21 04:33:11
【问题描述】:
我正在尝试运行这个程序。用户输入数值后,程序将输出数值。我的问题是程序应该要求用户输入任何数字以再次运行程序或 -1 退出,但我无法确定在代码中放置 while 循环的位置。我需要知道在哪里放置 while 循环。它应该在java代码的开头还是结尾。代码如下。
import java.util.Scanner;
public class Program4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System. in );
//Declare variables
double numb;
double absolute, meanNum = 0, medianNum = 0;
double num1, num2, num3;
double m;
double me;
double ab;
System.out.println("Enter a number"); //prompting the user to enter information
numb = input.nextDouble();
while (numb != -1) {
ab = absolute(numb);
System.out.printf("The absolute number is %f\n", ab); //prompting the user to enter information
System.out.println("Enter three numbers"); //prompting the user to enter information
num1 = input.nextDouble();
num2 = input.nextDouble();
num3 = input.nextDouble();
m = meanNum(num1, num2, num3); // Calling the method Mean Number
System.out.printf("The Mean Number is: %f\n", m);
me = medianNum(num1, num2, num3); // Calling the method Median Number
System.out.printf("The median Number is %f\n", me);
}
}
//// Creating another method for finding Mean Number
public static double meanNum(double num1, double num2, double num3) {
double meanNumb = 0;
meanNumb = (num1 + num2 + num3) / 3; // Calculating the mean number by summing the numbers entered divided by three
return (meanNumb);
}
// Creating another method for finding Median Number
public static double medianNum(double num1, double num2, double num3) {
//Using the IF Statement to find the median value of three numbers entered
double medianNum = 0;
if (num1 < (num3) && (num1 > num2))
medianNum = num1;
if ((num2 < num1) && (num2 > num3))
medianNum = num2;
if ((num3 < num2) && (num3 > num1))
medianNum = num3;
if ((num1 < num2) && (num1 > num3))
medianNum = num1;
if ((num2 < num3) && (num2 > num1))
medianNum = num2;
if ((num3 < num1) && (num3 > num2))
medianNum = num3;
return (medianNum);
}
// Creating a separated method for finding the absolute value of a number
public static double absolute(double numb) {
double ab = 0;
if (numb < 0) {
ab = numb * -1;
} else {
ab = numb;
}
return ab;
}
}
【问题讨论】:
标签: java loops while-loop