我在这个网站上进行了搜索,发现了一些谈论这个主题的东西,但似乎无法解决我正在搜索的问题,我已经尝试过了,经过几个小时的搜索和反复试验,我决定发布这个问题,因为我找不到一种方法来做我想做的事情。这是我的代码:
import java.io.*;
public class intermedio
{public static void main(String[] args)
{InputStreamReader isr = new InputStreamReader (System.in);
BufferedReader br = new BufferedReader (isr);
int a, b, c;
int max, min, mid;
try
{
System.out.println("first value");
a = Integer.parseInt(br.readLine());
System.out.println("second vaule");
b = Integer.parseInt(br.readLine());
System.out.println("third value");
c = Integer.parseInt(br.readLine());
if(a >= b && a >= c && b >= c)
{
max = a;
mid = b;
min = c;
System.out.println("middle value is: " + mid);
}else if(a <= b && a <= c && b <= c)
{
min = a;
mid = b;
max = c;
System.out.println("middle value is: " + mid);
}else if(a >= b && a <= c && b <= c)
{
mid = a;
min = b;
max = c;
System.out.println("middle value is: " + mid);
}else if(a >= b && a >= c && b <= c)
{
max = a;
min = b;
mid = c;
System.out.println("middle value is: " + mid);
}else if(a <= b && a <= c && b >= c)
{
min = a;
max = b;
mid = c;
System.out.println("middle value is: " + mid);
}else if(a <= b && a >= c && b >= c)
{
mid = a;
max = b;
min = c;
System.out.println("middle value is: " + mid);
}
}catch(IOException e){
e.printStackTrace();
}
}
}
我用 1、2 和 3 测试过它,它总是给出我想要的结果,如果要求最小值,它总是给我 1,如果我要求中值,它总是给我 2,如果我要求最大值,它总是给我 3。我希望我的代码做的是,而不是将 System.out.println("middle value is: "+ mid);
放在每个 if
的末尾,而是将整行放在我的代码。基本上我想要的是一种简化代码的方法。
最佳答案
What I want my code to do is that instead of putting the System.out.println("middle value is: " + mid); at the end of each if I want to put the whole line at the end of my code
那么...就这样做吗?从现在的多个位置中取出该行,并将其放在最后一个 else if
block 之后。
如果编译器提示它可能未初始化,也许您应该在声明它时将 mid
初始化为 0。
关于java - 从 3 java 中找出一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41993113/