Java 变量为';存储不正确吗?
我试图编写一些输出3,-6,9,-12等的代码。但是,输出是3,-6重复Java 变量为';存储不正确吗?,java,Java,我试图编写一些输出3,-6,9,-12等的代码。但是,输出是3,-6重复 public class Counting { public static void main (String [] args) { int i; int sum = 3; for (i = 0; i < 2500; i++) { System.out.println(sum);
public class Counting {
public static void main (String [] args) {
int i;
int sum = 3;
for (i = 0; i < 2500; i++) {
System.out.println(sum);
sum = (sum + 3) * -1;
i++;
}
}
}
公共类计数{
公共静态void main(字符串[]args){
int i;
整数和=3;
对于(i=0;i<2500;i++){
系统输出打印项数(总和);
总和=(总和+3)*-1;
i++;
}
}
}
通过使sum=sum+3和sum为-6,它将使-6+3=-3,然后*-1
在这些情况下,你必须设定一个条件使+3或-3成为+3或-3使用:
public static void main (String [] args) {
int i;
int sum = 3;
for (i = 0; i < 2500; i++) {
if(i%2==0) System.out.println(sum);
else System.out.println(-1*sum);
sum += 3;
}
}
publicstaticvoidmain(字符串[]args){
int i;
整数和=3;
对于(i=0;i<2500;i++){
如果(i%2==0)System.out.println(总和);
else系统输出打印项次(-1*总和);
总和+=3;
}
}
试试这个
For(int i=1;I<2500;I++)
System.out.print(i%2==0?-3*i:3*i)
For(inti=1;i这应该可以工作
public class Counting {
public static void main (String [] args) {
int i;
int sum = 3;
int c = 1
for (i = 0; i < 2500; i++) {
System.out.println(sum*c);
sum += 3;
c *= -1;
}
}
公共类计数{
公共静态void main(字符串[]args){
int i;
整数和=3;
int c=1
对于(i=0;i<2500;i++){
系统输出打印项次(总和*c);
总和+=3;
c*=-1;
}
}
}如果相乘前和为正,则应减去3
,如果相乘前为负,则应加3
。可以使用三元运算符或整数.signum
实现此操作。请注意,在循环体的中不应增加i
,因为它是无论如何,我会在每次迭代结束时递增
请参阅下面的代码
publicstaticvoidmain(最终字符串[]args){
int i;
整数和=3;
对于(i=0;i<2500;i++){
系统输出打印项数(总和);
总和=总和*-1-整数。符号(总和)*3;
}
}
您的计算实际上取消了:
3+3*-1=-6
-6+3*-1=3
通过使用简单的if/else
,您可以更轻松地完成此任务:
for (i = 0; i < 2500; i++) {
if (i % 2 == 0) {
System.out.println(3 * i);
} else {
System.out.println(-3 * i);
}
}
(i=0;i<2500;i++)的{
如果(i%2==0){
系统输出打印Ln(3*i);
}否则{
系统输出打印项次(-3*i);
}
}
不要更改总和本身。更改乘数mult
。这应该可以解决问题
public static void main(String args[]) {
int i;
int sum = 3;
// Add this variable
int mult = -1;
for (i = 0; i < 2500; i++) {
// Use mult while printing
System.out.println(sum*mult);
// Keep changing the sum
sum = (sum + 3);
// Keep alternating mult every iteration
mult*=-1;
i++;
}
}
publicstaticvoidmain(字符串args[]){
int i;
整数和=3;
//添加此变量
int mult=-1;
对于(i=0;i<2500;i++){
//打印时使用mult
系统输出打印项次(总和*mult);
//继续改变总数
总和=(总和+3);
//在每次迭代中保持交替mult
mult*=-1;
i++;
}
}
请再次显示您的尝试。没有它,下面的答案就没有意义。事实上,对于所显示的作业来说,这些答案也没有意义。@如果OP似乎已将问题编辑成一个全新的问题,请回滚到原始问题,并创建一个名为“试图找到音节的数量"相反,你不应该在for-loop的主体中有一个i++。请花时间阅读堆栈溢出,特别注意关于好问题的部分,这将得到好的答案。你有很多问题没有得到很好的回答。如果这种趋势持续下去,你将面临被阻止发布的巨大风险继续提问。听取别人给你的建议,编辑你现有的问题,以符合网站的标准,并在以后提问时保持这些标准。
public static void main(String args[]) {
int i;
int sum = 3;
// Add this variable
int mult = -1;
for (i = 0; i < 2500; i++) {
// Use mult while printing
System.out.println(sum*mult);
// Keep changing the sum
sum = (sum + 3);
// Keep alternating mult every iteration
mult*=-1;
i++;
}
}