我正在尝试输出第一个“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);
}
}
}
答案 0 :(得分:2)
这是最有效的(基于不寻常的要求):
var oddNumber = 1;
for (int i=0; i<x; i++) {
System.out.println(oddNumber);
oddNumber += 2;
}
答案 1 :(得分:1)
这样的事情应该有效:
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();
}
答案 2 :(得分:0)
int total = x*2;
而不是
int total = x*x;
答案 3 :(得分:0)
对于你循环,你应该使用:
for (int i=0; i<x; i++) {
System.out.println((i*2)+1);
}
答案 4 :(得分:0)
将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);
}
答案 5 :(得分:0)
你的if(i%2!= 0){
你可以通过几种方式解决这个问题。
之后,你可以:
if (i != x){
System.out.print(i+", ");
}
或者,您可以:
if (i % 2 && i != x){
System.out.print(i+", ");
}
将同时进行两项检查。
答案 6 :(得分:0)
对于奇数:
for(int i=0; i<number; i++)
{
i=i+1;
System.out.println(i);
}
对于偶数:
for(int i=1; i<number; i++)
{
i=i+1;
System.out.println(i);
}