英文:
Multiples of 3 print hippity and on multiples of 4 print hop?
问题
//程序名称:HippityHop.java
//输入者:无名氏
//日期:10/19/2020
import java.util.Scanner;  // 需要用于Scanner类
public class HippityHop
{
    public static void main(String[] args)
    {
        // 获取扫描仪以读取输入
        Scanner keyboard = new Scanner(System.in);
      
        for(int x=1; x <= 100; x++){
            if(x % 3 != 0 && x % 4 != 0) {
                System.out.println(x);
            }else{
                if(x % 3 == 0){
                    System.out.println("Hippity");
                }
                if(x % 4 == 0){
                    System.out.println("Hop");
                }
            }
        }
    } 
}    
英文:
//Name of Program:  HippityHop.java
//Entered by:   No Name
//Date:  10/19/2020
import java.util.Scanner;  // Needed for the Scanner class
public class HippityHop
{
public static void main(String[] args)
{
 
  
 // get scanner to read input
 Scanner keyboard = new Scanner(System.in);
  
for(int x=1; x <= 100; x++){
  if(x % 3 && x % 4) {
     System.out.println(x);
  }else{
     if(x % 3 == 0){
        System.out.println("Hippity");
     }
     if(x % 4 == 0){
        System.out.println("Hop");
        
        }
      }
  }
}
}
I am trying to create a program that on multiples of 3 it prints "Hippity" and on multiples of 4 it prints "hop". I seem to be getting a bad operand error. What can I do to fix it?
答案1
得分: 2
以下是翻译的代码部分:
以下是翻译的代码部分:
```java
if(x % 3 && x % 4) {
这不是一个正确的表达式。x % 3 正在计算余数。您从未将其与任何东西进行比较,因此它会引发错误的操作数错误。这就像在现实生活中说:
if x 取模 3 then 做这个
或者,仅出于论证的目的(并且为了更容易理解),就像是说:
if x 减去 3 then 做这个
相反,应该是 if(x % 3 != 0 && x % 4 != 0),如下所示:
import java.util.Scanner;  // 为了使用 Scanner 类
public class HippityHop {
    public static void main(String[] args) {
        // 获取扫描器以读取输入
        Scanner keyboard = new Scanner(System.in);
        
        for(int x=1; x <= 100; x++) {
            if(x % 3 != 0 && x % 4 != 0) {
                System.out.println(x);
            } else {
                if(x % 3 == 0) {
                    System.out.println("Hippity");
                }
                if(x % 4 == 0) {
                    System.out.println("Hop");
                }
            }
        }
    }
}
希望这有所帮助!
英文:
The following expression:
if(x % 3 && x % 4) {
Isn't a proper one. What x%3 is doing is calculating the modulus. You never compared it to anything, so it's throwing a bad operand error. That's like saying in real life:
if x modulus 3 then do this
Or, just for the sake of the argument (and to make it easier to understand), it's like saying:
if x subtract 3 then do this
Instead, it should be if(x%3!=0 && x%4!=0), like so:
import java.util.Scanner;  // Needed for the Scanner class
public class HippityHop
{
public static void main(String[] args)
{
 
  
 // get scanner to read input
 Scanner keyboard = new Scanner(System.in);
  
for(int x=1; x <= 100; x++){
  if(x % 3 !=0 && x % 4 !=0) {
     System.out.println(x);
  }else{
     if(x % 3 == 0){
        System.out.println("Hippity");
     }
     if(x % 4 == 0){
        System.out.println("Hop");
        
        }
      }
  }
} }
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论