你好,我刚刚开始对hackerrank进行编码练习,并且使用带有skip功能的扫描器类遇到了一些挑战。这是我尝试过的。 目的 在这个挑战中,我们从条件语句开始。请查看“教程”选项卡以获取学习材料和教学视频!
任务
给出一个整数,执行以下条件操作:
输入格式
包含正整数n的一行。
约束
输出格式
如果数字很奇怪,请打印Weird;否则,请打印Not Weird。
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;
public class Solution {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int N = scanner.nextInt();
if (N % 2 == 0 && N >= 2 && N <= 5 && N > 20) {
System.out.println("not weird");
} else if (N % 2 == 0 && N >= 6 && N <= 20) {
System.out.println("weird");
} else {
System.out.println("weird");
}
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
scanner.close();
}
}
请问我在做错什么。
答案 0 :(得分:1)
您混用了<textarea cols="200" name="mensaje" class="user-form-control input-md" id="textoExcel" disabled="disabled"> </textarea>
和&&
,因此您的第一个||
将永远不会像注释中提到的那样运行。
因此,看起来唯一的if
打印输出是"Not Weird"
,2
甚至是数字4
。
因此,您可以利用它来检查> 20
的输出,否则打印"Weird"
。
"Not Weird"
话虽如此,我不确定Scanner::skip
想要什么
答案 1 :(得分:0)
这就是我简化它的方式。
if(N % 2 == 0 )
{
if((N >= 2 && N <= 5) || N > 20)
{
System.out.println("Not Weird");
}
else
{
System.out.println("Weird");
}
}
else
{
System.out.println("Weird");
}
答案 2 :(得分:0)
请参见下面的代码
int N = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
if ((N % 2 == 0 && N >= 2 && N <= 5) || N > 20) {
System.out.println("Not Weird");
} else if (N % 2 == 0 && N >= 6 && N <= 20) {
System.out.println("Weird");
}
else
{
System.out.println("Weird");
}
答案 3 :(得分:0)
public class Solution {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int n = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
if (n%2==0 && n>2 && n<5 || n>20) {
System.out.println("Not Weird");
} else if( n>6 || n<20) {
System.out.println("Weird");
} else {
System.out.println("Weird");
}
scanner.close();
}
}
答案 4 :(得分:0)
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;
public class Solution {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int N = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
if (N % 2 == 0 && N >= 2 && N <= 5 ) {
System.out.println("Not Weird");
} else if (N % 2 == 0 && N >= 6 && N<=20) {
System.out.println("Weird");
} else if(N%2==0 && N>20) {
System.out.println("Not Weird");
}else {
System.out.println("Weird");
}
scanner.close();
}
}
答案 5 :(得分:0)
package hudai;
import java.util.Scanner;
public class Hudai {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int N = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
scanner.close();
if(N%2 == 1){
System.out.println("Weird");
}
if(N%2==0 && 2<N && N<5){
System.out.println("Not Weird");
}
if(N%2==0 && 6<N && N<=20){
System.out.println("Weird");
}
if(N%2==0 && 20<N && N<=100){
System.out.println("Not Weird");
}
}
}
答案 6 :(得分:0)
if(N % 2 == 0){
if((N >=2 && N <= 5) || (N > 20)){
System.out.println("Not Weird");
}
else if(N >= 6 && N <= 20){
System.out.println("Weird");
}
}
else{
System.out.println("Weird");
}
答案 7 :(得分:0)
Java 8 函数式接口应用于整数。
OPTIONS
答案 8 :(得分:0)
import java.util.Scanner;
public class Main {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int n = scanner.nextInt();
if (n % 2 == 1) {
System.out.println("Weird");
}
if (n % 2 == 0 && 2 < n && n < 5) {
System.out.println("Not Weird");
}
if (n % 2 == 0 && 6 < n && n <= 20) {
System.out.println("Weird");
}
if (n % 2 == 0 && 20 < n && n <= 100) {
System.out.println("Not Weird");
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
}
}
}
答案 9 :(得分:-1)
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;
public class Solution {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int N = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
if(N %2 == 0){
if((N>=2 && N<=5) || (N>20)){
System.out.println("Not Weird");
}
else if (N>=6 && N<=20){
System.out.println("Weird");
}
}
else {
System.out.println("Weird");
}
scanner.close();
}
}
答案 10 :(得分:-2)
int N = scan.nextInt(); scan.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
if(N%2==1 || (N>=6 && N<= 20)){
System.out.println("Weird");
}else{
System.out.println ("Not Weird");
}
scanner.close();
}