我的程序是告诉输入的一年是否是符合这些要求的闰年:
a型年:2011年不是闰年。
a型年:2012年是闰年。
类型a年:1800年该年不是闰年。
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println(" Type a year ");
int number = Integer.parseInt(reader.nextLine());
if (number % 4 == 0 ) {
System.out.println(" This is a leap year");
} else if (number % 100 == 0 && number % 400 == 0) {
System.out.println(" This is a leap year ");
} else {
System.out.println( "This is not a leap year");
}
}
}
考虑输入年份100时会发生什么。100%4==0
为true
,因此代码输出该年为闰年。问题是,100%100==0
也是true
,但是代码永远不会到达这一行,也不会检查100%400==0
是否是true
。
您在检查所有条件之前就打印出了结果!
更改if else的结构。
方括号{
和}
除其他外,位置不对。将括号放在我所做的位置是Java标准的一部分,它使代码更容易阅读、理解和调试。(这也使得识别它们丢失时更容易。)
您的代码应该如下所示:
// Pay attention to a few things here. It checks if it is divisible by 4
// since every leap year must be divisible by 4. If it is,
// it checks if it is divisible by 100. If it is, it must also
// be divisible by 400, or it is not a leap year. So, if it is divisible
// by 100 and NOT divisible by 400, it is not a leap year. If it isn't
// divisible by 100, control flows to the else statement, and since we
// already tested number % 4 we know it is a leap year.
// Pay special attention to where I located my { and }, this is the
// standard way to do it in java, it makes your code readable by others.
if(number % 4 == 0) {
if((number % 100 == 0) && !(number % 400 == 0)) { // NOTE THE ! OPERATOR HERE
System.out.println("The year is NOT a leap year.");
} else {
System.our.println("The year is a leap year.");
}
} else {
System.out.println("The year is NOT a leap year");
}
条件语句通过判断给定条件的真假来控制程序的执行。在上一小节中,我们已经简要介绍过了语句和块的概念。那么本小节我们将进一步展开介绍 Java 中所有类型的条件语句。 1. if 语句 1.1 语法 当我们需要根据给定的条件来决定是否执行一段代码时,if 语句就派上用场了。if 块仅在与其关联的布尔表达式为 true 时执行。if 块的结构如下: if (条件) { // 当条件成立时执行此处
本文向大家介绍Javascript简写条件语句(推荐),包括了Javascript简写条件语句(推荐)的使用技巧和注意事项,需要的朋友参考一下 经常在各处牛人的代码中看到许多简写的条件表达语句,看了一些介绍这方面的文章,觉得3 ways 2 say if这篇文章(http://www.thomasfrank.se/3_ways_2_say_if.html)还不错。在这篇文章中作者对传统的if...
跟其它程序设计语言一样,Bash中的条件语句让我们可以决定一个操作是否被执行。结果取决于一个包在[[ ]]里的表达式。 条件表达式可以包含&&和||运算符,分别对应 与 和 或 。除此之外还有很多有用的表达式。 共有两个不同的条件表达式:if和case。 基元和组合表达式 由[[ ]](sh中是[ ])包起来的表达式被称作 检测命令 或 基元。这些表达式帮助我们检测一个条件的结果。在下面的表里,为
条件语句体应该总是被大括号包围。尽管有时候你可以不使用大括号(比如,条件语句体只有一行内容),但是这样做会带来问题隐患。比如,增加一行代码时,你可能会误以为它是 if 语句体里面的。此外,更危险的是,如果把 if 后面的那行代码注释掉,之后的一行代码会成为 if 语句里的代码。 推荐: if (!error) { return success; } 不推荐: if (!error)
Jade 条件语句和使用了(-) 前缀的JavaScript语句是一致的,然后它允许你不使用圆括号,这样会看上去对设计师更友好一点, 同时要在心里记住这个表达式渲染出的是_常规_Javascript: for user in users if user.role == 'admin' p #{user.name} is an admin else p= user.name
1、什么是条件语句 Python 条件语句跟其他语言基本一致的,都是通过一条或多条语句的执行结果( True 或者 False )来决定执行的代码块。 Python 程序语言指定任何非 0 和非空(null)值为 True,0 或者 null 为 False。 执行的流程图如下: 2、if 语句的基本形式 Python 中,if 语句的基本形式如下: if 判断条件: 执行语句…… els