爪哇奇数循环
问题描述:
我想输出第一个“x”的几率,但我无法知道如何停止循环的数量是x。例如...如果你输入6,我希望它显示1,3,5,7,9,11。但是,我的编码完成所有可能性。爪哇奇数循环
import java.util.Scanner;
public class OddNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Please input a number.");
Scanner keyboard = new Scanner(System.in);
int x = keyboard.nextInt();
int total = x*x;
if (x > 0){
System.out.println("The first 5 odd numbers are...");
}
if (x > 0){
for (int i = 0; i < total; i++){
if (i % 2 != 0){
System.out.println(i+"");
}}
System.out.println("The total is "+total);
}
}
}
答
像这样的东西应该工作:
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Please input a number.");
Scanner keyboard = new Scanner(System.in);
int x = keyboard.nextInt();
for(int i =1; i<=x*2; i++) {
if (i%2!=0) {
System.out.print(i+", ");
}
}
keyboard.close();
}
+0
非常感谢! – Javier
答
int total = x*2;
代替
int total = x*x;
答
为你循环,你应该使用:
for (int i=0; i<x; i++) {
System.out.println((i*2)+1);
}
答
这最有效的(基于不同寻常的要求):
var oddNumber = 1;
for (int i=0; i<x; i++) {
System.out.println(oddNumber);
oddNumber += 2;
}
答
更改for
环路:
for (int i = 1; i <= x; i++){
System.out.println(i * 2 - 1);
}
或替代:
for (int i = 1; i < x * 2; i = i + 2){
System.out.println(i);
}
答
你如果(I%2 = 0){
你可以通过几种方式解决它。
之后,您可以:
if (i != x){
System.out.print(i+", ");
}
或者,您可以:
if (i % 2 && i != x){
System.out.print(i+", ");
}
,将在同一时间做两个检查。
为什么连“i%2”的东西都打扰?你知道几率会分开2,所以'我= 1;我