【发布时间】:2016-07-14 18:44:50
【问题描述】:
作为一个初学者,我正在做在线问题来理解数组,这不是功课而是练习。任何建议都有帮助!
代码应该接受用户输入。
问题:
打印两个以空格分隔的整数,分别表示 A 和 B 获得的比较分数。
- 示例输入
5 6 7 3 6 10
- 样本输出
1 1
说明
在这个例子中: A = (a0, a1, a2) 其中值为 (5,6,7)
B = (b0,b1,b2) 其中值为 (3,6,10)
比较每个人的分数:
a0 > b0 ==> 所以 A 得 1 分。
a0 = b0 ==> 没有人得一分。
b0 > a0 ==> 所以 B 得 1 分。
A 的比较分数是 1,B 的比较分数是 1。因此,我们在一行上打印 1 1。
方法一:
首先,我虽然将其实现为二维数组,但我只做到了这一点,因为我不确定在哪里实现比较:
public class CompareElem2DArray{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int array2d [][]= new int[3][3];
System.out.println("Please enter 3 marks for A and 3 marks for B: ");
for(int a = 0; a<3; a++) //row
{
for(int b=0; b<3; b++)//column
{
int array2d[a][b] = in.nextInt();
}
}
for (int column = 0; column<3; column++)
{
for(int row=0; row<3; row++)
{
System.out.println( array2d[column][row]+" ");
}
}
System.out.println();
}
}
方法2:
这是我第二次尝试不使用二维数组。
public class Comparison {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a0 = in.nextInt();
int a1 = in.nextInt();
int a2 = in.nextInt();
int b0 = in.nextInt();
int b1 = in.nextInt();
int b2 = in.nextInt();
int a[] = new int[3];
int b[] = new int[3];
int firstAns = 0;
int secondAns = 0;
for(int i = 0; i<3; i++)
{
int a[i] = in.nextInt();
System.out.println(a[i]);
}
for(int j = 0; j<3; j++)
{
int b[j] = in.nextInt();
System.out.println(b[j]);
}
for(int z = 0; z<3; z++)
{
if(a[z]>b[z])
{
firstAns++;
}
else if(a[z]<b[z])
{
secondAns++;
}
else
{
return;
}
}
System.out.println(firstAns);
System.out.println(secondAns);
}
}
【问题讨论】:
-
我不确定您希望得到什么答案,但我的第一个想法是建议您认真考虑一下自己的编码风格。在大括号位置、命名、间距等方面保持一致非常重要。您和其他人需要阅读您的代码。这可能比执行更重要。您的代码很难阅读。 Java 标准建议将大括号放在行尾而不是下一行。 C# 开发人员倾向于将它们放在下一行。我更喜欢前者。你也应该这样做。
-
2D 数组在这里没有多大意义,因为您只有两个数组,而制作
int[2][x]数组是不必要的复杂。 -
您的“问题”中没有问题。如果您说“这是我的代码,这是我尝试编译它时收到的错误消息,我做错了什么?”,您会钓到更多的鱼。或“这是我的代码,这是我运行它时得到的,这是我想我会得到的,我错过了什么?”
-
@duffymo - 谢谢你的建议,我会在以后应用它。
-
如果你只说“这是我的问题,请告诉我如何解决”,你不会得到太多帮助。但是,这里有一个通用的“解决方法提示”:想想如果您必须用铅笔和纸而不是计算机来解决同样的问题,您会怎么做。无论您将执行哪些步骤,...想想您如何告诉计算机执行相同的步骤。
标签: java arrays multidimensional-array comparison