2015-12-10 57 views
0

我必须编写一个程序,要求用户输入一个整数值。在每个值之后,如果用户想要继续该程序,则用户必须以“y”或“n”作出响应,并且用户输入的每个数字被表示为奇数或偶数,并且找出数字的平均值用户输入。我已经完成了这一切,但我很困惑两点:寻找do-while循环中的最大值和小写/大写

  1. 我如何让这个用户可以键入既是资本和小写字母y和程序仍会运行?到目前为止,它仅适用于小写的y。
  2. 此外,你将如何编程,以便在用户输入所有数字后,它会给你用户输入的最大号码?例如:用户输入数字10,12,13,程序状态“输入的最高值是13”。

这是到目前为止我的代码:

import java.util.Scanner; 
class ProgramTest { 
    public static void main(String[] args) { 
     String answer = ""; 
     double sum = 0; 
     int count = 0; 
     do { 

      int num; 
      Scanner scan = new Scanner(System.in); 
      System.out.print("Enter any number : "); 
      num = scan.nextInt(); 

      if ((num % 2) == 0) System.out.println(num + " is an even number."); 
      else System.out.println(num + " is an odd number"); 
      sum += num; 
      System.out.println(("Would you like to enter another value(y/n)?:")); 
      answer = scan.next(); 
      count++; 

     } while (answer.equals("y")); 

     System.out.println("Average: " + (sum/count)); 
    } 
} 

回答

-1

String.equalsIgnoreCase(String anotherString) Java文档较低和大写y

至于最高/最低的数字,创建2个变量,如果它们为空或低于/高于当前数字,请重新分配它们。在课程结束时,您将拥有适当的价值。

这太简单了,不能提供代码,所以上面的解释已经足够了。

+0

谢谢你低一点d大写,但我不明白你的意思是什么变数。我会在哪里放置变量,如果一个数字大于另一个数字,我如何将它们重新分配给另一个数字? – Aaron

+0

原谅我,如果它看起来对你来说真的很基本,这是我第一年做Java和计算机编程的一般情况,我仍然习惯它。帮助将不胜感激。 – Aaron

-1
import java.util.Scanner; 
class ProgramTest { 
    public static void main(String[] args) { 
    String answer = ""; 
    double sum = 0; 
    int count = 0; 
    **int max = 0;** 
    do { 

     int num; 
     Scanner scan = new Scanner(System.in); 
     System.out.print("Enter any number : "); 

     num = scan.nextInt(); 

     if ((num % 2) == 0) System.out.println(num + " is an even number."); 
     else System.out.println(num + " is an odd number"); 
     sum += num; 
     System.out.println(("Would you like to enter another value(y/n)?:")); 

     **max = (num > max) ? num : max ;** 

     answer = scan.next(); 
     count++; 

    } while (answer.equals("y")); 

     System.out.println("Average: " + (sum/count)); 
     System.out.println("Highest : " + max); 
    } 
0

为了得到区分大小写的比较尝试

while (answer.equalsIgnoreCase ("y")); 

对于最高和最低创建两个新的变量do循环之前为

int lowest = Integer.MAX_VALUE; 
int highest = Integer.MIN_VALUE; 

在你的循环做

lowest = Math.min (lowest, num); 
highest = Math.min (higest, num);