Java 如果数组中的每个元素都相等,则打印一个元素;如果所有元素都不相等,则打印最大的元素;不相等
我编写了一个代码,如果用户给出数字,则输出序列的最大值。如果用户仅输入相等的值,则相同的输出将重复用户给定的输入次数 这里的问题是,尽管我编写了一个if条件来避免重复相同的输出,但它不起作用。我真的很感激你的帮助 问题:Java 如果数组中的每个元素都相等,则打印一个元素;如果所有元素都不相等,则打印最大的元素;不相等,java,if-statement,arraylist,Java,If Statement,Arraylist,我编写了一个代码,如果用户给出数字,则输出序列的最大值。如果用户仅输入相等的值,则相同的输出将重复用户给定的输入次数 这里的问题是,尽管我编写了一个if条件来避免重复相同的输出,但它不起作用。我真的很感激你的帮助 问题: int y = 0; for(int i : a){ int v = 0; if(i == a.get(0)){ y = y + 1; }
int y = 0;
for(int i : a){
int v = 0;
if(i == a.get(0)){
y = y + 1;
}
for(int o : a){
if(i >= o){
v = v + 1;
}
}
if(y == a.size()){
System.out.println("Largest_num = "+a.get(0));
}
else if((v == a.size())&&(y != a.size())){
System.out.println("Largest_num = "+i);
}
全部代码:
import java.util.Scanner;
import java.util.ArrayList;
class Noice{
public static void main(String args[]){
Scanner obj = new Scanner(System.in);
System.out.println();
ArrayList<Integer>a = new ArrayList<Integer>();
System.out.print("Enter length: ");
int d = obj.nextInt();
System.out.println();
for(int i = 0; i < d; i++){
int c = i + 1;
System.out.print("Num"+c+" = ");
int b = obj.nextInt();
a.add(b);
}
int y = 0;
for(int i : a){
int v = 0;
if(i == a.get(0)){
y = y + 1;
}
for(int o : a){
if(i >= o){
v = v + 1;
}
}
if(y == a.size()){
System.out.println("Largest_num = "+a.get(0));
}
else if((v == a.size())&&(y != a.size())){
System.out.println("Largest_num = "+i);
}
}
}
}
import java.util.Scanner;
导入java.util.ArrayList;
噪音等级{
公共静态void main(字符串参数[]){
扫描器obj=新扫描器(System.in);
System.out.println();
ArrayList=新的ArrayList();
系统输出打印(“输入长度:”);
int d=obj.nextInt();
System.out.println();
对于(int i=0;i=o){
v=v+1;
}
}
如果(y==a.size()){
System.out.println(“maximust_num=“+a.get(0));
}
如果((v==a.size())和&(y!=a.size())){
System.out.println(“最大数量=+i”);
}
}
}
}
我很难理解每个变量在做什么,最好使用变量名来解释它的用途
据我所知,y
跟踪有多少值等于数组中的第一个值。然后,第一个if条件检查相同值(y
)的数量是否与数组的大小相同。如果是这样的话,那么您就不需要else If
,只要else
就足够了,如果我正确理解了问题的话
我还很难理解for(into:a)和variablev
的循环在做什么。同样,由于变量名没有描述它们的功能,所以很难理解,但似乎可以放弃嵌套循环,只跟踪正在运行的最大变量。在(int i:a)的之前,可以添加类似int max=a.get(0)的内容代码>。然后,在for
循环中,如果遇到大于max
的数字,则使用该值更新max
。不过,这样做根本不需要任何条件,您只需在程序结束时输出max