java - java中的连续长度问题
问题描述
我是新手,希望你能帮助我。老师给我们留了作业,一个计算以下序列的程序:3、5、5、8、7、11、9、14、11、17。为了能够生成它,请使用 2 个不同的序列,然后将它们组合起来. 但是,问题是幸福的长度,是通过键盘输入一个数字来定义的,如果这个数字是偶数,序列就会得到正确的项数,但如果是奇数,我会额外添加一个,这个因此,它添加了一个独立的计数器,以便能够确定用户通过键盘为连续指定的术语数量我怎样才能让它同时适用于偶数和奇数?
附件代码及截图:
Scanner sc= new Scanner(System.in);
int n1= 3, n2= 5, rep, count=1;
System.out.println("enter length");
rep= sc.nextInt();
for(int i= 1; i <= rep; i++)
{
if(count<= rep)
System.out.print(n1+ ", " + n2 + ", ");
n1= n1+2;
count = count +1;
n2= n2+3;
count = count +1;
}
解决方案
我假设rep
是您希望在组合序列中看到的术语数。如果是这样,那么这应该工作:
for(int i=0; i < rep; i++)
{
if((i % 2) ==0)
{
System.out.print(n1);
n1 = n1+2;
}
else
{
System.out.print(n2);
n2 = n2+3;
}
if(i+1 < rep) System.out.print(", ");
}
对于代表 == 6
3, 5, 5, 8, 7, 11
对于代表 == 7
3, 5, 5, 8, 7, 11, 9
如果您想花哨,可以使用数组来存储序列:
int[] n = {3, 5};
for(int i=0; i < rep; i++)
{
System.out.print(n[i % 2]);
if(i+1 < rep) System.out.print(", ");
n[i % 2] += 2 + i % 2;
}
推荐阅读
- javascript - 单击图标时如何打开每个项目的手风琴?
- regex - 正则表达式,在特定模式之后捕获一个或多个 6 位数字
- javascript - 检查字符串是否包含 JavaScript 中的某些特定值
- nginx - 访问位置时出现路线问题
- java - Maven Web 项目错误 org.apache.tomcat.util.bcel.classfile.ClassFormatException:它不是 Java .class 文件
- kubernetes - Kubernetes 中的入口和服务网格有什么区别?
- debugging - IntelliJ 在调试模式下不显示值
- python - Pandas:仅当某个列值在过去 N 个月内出现 N 次时才保留行
- logstash - 如何使用 - 或 _ 检查 Logstash 字段匹配的第一个字符并替换它
- json - HTTP API 调用返回 404 而 JSON 字符串返回