提示用户输入三个整数,找到这三个整数中最大的整数并找到该最大数的平方

时间:2015-02-15 14:56:26

标签: java

我需要用Java编写一个程序,提示用户输入三个整数。在输入的这些整数中,除了平方根之外,还需要找到最大的整数。我只是一个初学者,我很感激所有的帮助。

import java.util.Scanner;
public class largest {

    public static void main (String [] args) {

        int Integer1;
        int Integer2;
        int Integer3;


        Scanner input=new Scanner(System.in);
        System.out.println("Enter 3 integers:");

        Integer1 = input.nextInt();
        Integer2 = input.nextInt();
        Integer3 = input.nextInt();

        if (Integer1 > Integer2);
        System.out.println (Integer1);

        if (Integer1 > Integer3);
        System.out.println (Integer1)

这就是我到目前为止所做的一切,而且我很怀疑我是否正在走上正轨。请帮忙。

2 个答案:

答案 0 :(得分:0)

我建议使用Math.max作为aioobe建议,但如果你想自己实现逻辑,请使用:

import java.util.Scanner;
import java.lang.Math;
class prog {
  public static void main (String [] args) {

    int Integer1;
    int Integer2;
    int Integer3;


    Scanner input = new Scanner(System.in);
    System.out.println("Enter 3 integers:");

    Integer1 = input.nextInt();
    Integer2 = input.nextInt();
    Integer3 = input.nextInt();

    if (Integer1 > Integer2) {
      if (Integer1 > Integer3) {
        System.out.println (Integer1);
        System.out.println (Math.sqrt((float)Integer1));
      }
      else {
        System.out.println (Integer3);
        System.out.println (Math.sqrt((float)Integer3));
      }
    }
    else if (Integer2 > Integer3) {
      System.out.println (Integer2);
      System.out.println (Math.sqrt((float)Integer2));
    }
    else {
      System.out.println (Integer3);
      System.out.println (Math.sqrt((float)Integer3));
    }
  }
}

如果超过3,请使用Math.max(float)部分将整数转换为浮点数,否则平方根不精确(因为整数是整数

答案 1 :(得分:0)

有很多方法可以做到这一点,你可以使用不同的库和数据类型,我不确定你是否可以使用for循环,数组或列表。 大多数情况下,对于这类工作,您需要使用循环,这使得它简单易懂。

以下是几种不同的方法: 在此示例中,如果您需要获得3个以上的条目,只需将数字4修改为需要从用户接收的整数数。

int num, tmp = 0;
    Scanner input = new Scanner(System.in);
    for (int i = 1; i < 4; i++) {
        System.out.printf("Enter integer number %d :", i);
        num = input.nextInt();
        if (num > tmp) {
            tmp = num;
        }
    }
    System.out.printf("the largest number is :%d and the Square is:  %s", tmp, Math.sqrt((float) tmp));

第二种方式,不使用for循环:

   int num, tmp = 0;
    Scanner input = new Scanner(System.in);
    System.out.printf("Enter integer number 1 :");
    num = input.nextInt();
    if (num > tmp) {
        tmp = num;
    }
    System.out.printf("Enter integer number 2 :");
    num = input.nextInt();
    if (num > tmp) {
        tmp = num;
    }
    System.out.printf("Enter integer number 3 :");
    num = input.nextInt();
    if (num > tmp) {
        tmp = num;
    }
    System.out.printf("the largest number is :%d and the Square is:  %s", tmp, Math.sqrt((float) tmp));

始终尝试使用较少的变量,这样可以提高应用程序的内存效率。