这是作业:
编写一个程序,在名为Data的数组中分配和存储前20个5的倍数,程序中不能使用其他数组。程序应输出数组的元素,具体如下:
a)仅编写用于在Data
中分配和存储值的命令b)输出数组:10个数字/行,每行的总和
c)输出数组:按相反的顺序,5个数字/行,每行的总和
d)奇数索引位置值(Data [1],Data [3],Data [5],...),5个值/行及其总和
e)偶数索引位置值(Data [3],Data [4],Data [6],...),5个值/行及其总和
这是我的代码:
//** TASK 4
//a,b
int data[]=new int[21]; int sum=0;
for(int i=1;i<21;i++){
data[i]=5*i;
sum+= data[i];
if(i%11==0)
System.out.println();
System.out.print(data[i] + " ");
}
System.out.println("sum " + sum);
// int a[]=new int[21];
// for(int i=1;i<21;i++){
// a[i]=5*i;
// //System.out.print(a[i] + " ");
// }
// System.out.println();
System.out.println();
//c
int sum2=0;
for(int i=data.length-2;i>0;i--){
data[i]+=5;
sum2+= data[i];
if(i%5==0)
System.out.println();
System.out.print(data[i] + " ");
}
System.out.println("sum " + sum2);
System.out.println();
//d
int sum3=0;
for(int i=1;i<21;i=i+2){
data[i]=5*i;
sum3+= data[i];
if(i%11==0)
System.out.println();
System.out.print(data[i] + " ");
}
System.out.println("sum " + sum3);
System.out.println();
//e
int sum4=0;
for(int i=2;i<21;i=i+2){
data[i]=5*i;
sum4+= data[i];
if(i%5==0)
System.out.println();
System.out.print(data[i] + " ");
}
System.out.println("sum " + sum4);
这是输出: 对于a / b)
5 10 15 20 25 30 35 40 45 50
55 60 65 70 75 80 85 90 95 100 sum 1050
对于c)
100 95 90 85
80 75 70 65 60
55 50 45 40 35
30 25 20 15 10 sum 1045
对于d)
5 15 25 35 45
55 65 75 85 95 sum 500
对于e)
10 20 30 40
50 60 70 80 90
100 sum 550
***我不知道如何为这项任务的所有部分加上每一行的总和。 我的老师没有教我们如何,不会帮助我,我很困惑。请帮忙。我一直试图弄清楚这么久
答案 0 :(得分:0)
我在这里没有给出答案,作为家庭作业,我相信这个过程比结果更重要。但是,我会尽力指导。
我注意到的第一件事是StringBuilder
类在这里非常有用。
正如@Filburt所指出的那样:尝试一次完成这一部分。
从a开始:尝试习惯第一个索引为0的事实,然后迭代20个元素并使其值达到您想要的值:(i+1)*5
b:这里模数和StringBuilder
派上用场。您要做的就是迭代所有data[i]
然后将data[i] + " "
附加到字符串构建器,同时设置值的运行总和。
由于您希望每10个条目添加总和和新行,因此有用的事情是20个值的i%10
为0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
。
因此,当您到达第10个元素9
时,您希望将总和添加到StringBuilder
并在窗口上添加新行字符"\r\n"
,"\n"
Unix / MacOSX)并将总和设置回0。
最后你可以简单地打印stringbuilder并瞧!
c:与前一个相同,实际上,只是向后迭代,模数为5 4, 3, 2, 1, 0, ...
(意味着你将总和加在0上)。
d&amp; e:这实际上与b相同,但只打印其他所有条目,其中i%2 == 1
和i%2 == 0
按此顺序排列。所以,只要确保只在这是真的时附加到stringbuilder并且一切都应该没问题。
希望这有助于而不是太明显。
答案 1 :(得分:0)
我不知道我是否应该发布此信息,但无论如何你都去了:
...
ConstantPool:
#7 = Utf8 LFactoryMethodKeys
#8 = Utf8 NonFactoryMethod
...
{
public abstract FactoryMethodKeys value();
flags: ACC_PUBLIC, ACC_ABSTRACT
AnnotationDefault:
default_value: e#7.#8}
我认为这就是你所需要的。