`我不确定要插入什么代码甚至在哪里,但我想检查我输入的数字是一个奇数.
import java.io.*;
import javax.swing.JOptionPane;
public class Diamond {
public static void main(String [] args) throws IOException {
BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));
String input;
int num;
System.out.println("input number: ");
input = stdin.readLine ();
num = Integer.parseInt(input);
if (num % 2 ==1){
int d = num;
int e = 0;
for (int a = 0; a <= num; a++) {
for (int c = d; c>= 1; c-- )
System.out.print(" ");
d-=1;
for (int b = 1; b <= a; b++)
System.out.print ("* ");
System.out.println();
}
num-=1;
for (int a = 0; a<=num; a++) {
for (int b = num; b > a; b--)
System.out.print (" *");
System.out.println();
for (int c = 0; c <= e; c++)
System.out.print(" ");
e+=1;
}
} else {
System.out.println("Please enter an odd number!");
}
}
}
Run Code Online (Sandbox Code Playgroud)
mik*_*iku 52
使用模运算:
if (number % 2 == 0) {
// even
} else {
// odd
}
Run Code Online (Sandbox Code Playgroud)
更新:
您可以在此处测试此代码:
请注意检查均匀性number % 2 == 1将失败.
要检查数字是否为奇数,您可以使用(number & 1) != 0.
小智 10
num%2 == 1在负奇数上返回不正确的结果,2的除数余数不为1.这可以修复如下:
public boolean isOddNumber(int num) {
return (num & 1) != 0;
}
Run Code Online (Sandbox Code Playgroud)
你不能拥有readLine它if.首先,你需要获得价值,然后你可以使用你的if.
它是这样的:
BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));
String input;
int num;
System.out.println("input number: ");
input = stdin.readLine();
num = Integer.parseInt(input);
if (num % 2 == 1) {
// odd
} else {
System.out.println("Please enter an odd number!");
}
Run Code Online (Sandbox Code Playgroud)
最后 - 不要使用名为"a","e"或"d"的值 - 这非常令人困惑.只需用名称命名变量,让读者知道/猜测他们在您的代码中的角色.我不知道你的"a"或b,c,d等的含义是什么.例如,你num应该被命名enteredValue以澄清你的代码.
| 归档时间: |
|
| 查看次数: |
77009 次 |
| 最近记录: |