鱼C论坛

 找回密码
 立即注册
查看: 6939|回复: 8

[已解决]!不会用

[复制链接]
发表于 2021-3-17 20:28:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
package huti;

import java.util.Scanner;

public class sdaf {
       
        public static void main(String[] args) {
                System.out.println("是否是本校生:");
                Scanner scanner = new Scanner("System.in");
                boolean isStudent =scanner.nextBoolean();
                if(isStudent ! false) {
                //!报错
                        System.out.println("允许入内");
                }else {
                        System.out.println("不允许入内");
                }

               

        }

}
最佳答案
2021-3-21 06:24:31
  1. public static void main(String[] args) {
  2.         System.out.println("是否是本校生:");
  3.         // Scanner的参数是一般是输入流,会从控制台读取用户的输入流,题主这边用字符串作为参数
  4.         // 系统会认为这个是系统的输入。
  5. //        Scanner scanner = new Scanner("System.in");
  6.         // 这为正确的写法
  7.         Scanner scanner = new Scanner(System.in);
  8.         // 后面读用户的输入不建议使用nextBoolean,用户的输入是无法确定,一旦输入的类型不是布尔类型的会抛异常
  9. //        boolean isStudent =scanner.nextBoolean();
  10.         // 建议用nextLine读取用户输入的一行进行判断
  11.         String next = scanner.nextLine();


  12.         /*
  13.         * 首先!(感叹号)是单目运算,是用来否定当前的值,即 如果 boolean flag = true
  14.         *   则 !flag == false
  15.         * 另外在Java中if的条件判断中的值如果是boolean类型的话并不需要做任何的运算,因为其本身就是运算了
  16.         *
  17.         * 即 if(flag == true) 可以写为if(flag)
  18.         * if(flag == false) 可以写为if(!flag)
  19.         *
  20.         * */
  21. //        if(isStudent ! false) {
  22. //            //!报错
  23. //            System.out.println("允许入内");
  24. //        }else {
  25. //            System.out.println("不允许入内");
  26. //        }

  27.         // 针对题主的题目,我的想法是:
  28.         boolean isStudent = scanner.nextLine().equals("是");
  29.         if (isStudent) {
  30.             System.out.println("允许入内");
  31.         } else {
  32.             System.out.println("不允许入内");
  33.         }

  34.         // 针对使用! 非运算符的计算:
  35.         if (!isStudent) {
  36.             System.out.println("不允许入内");
  37.         } else {
  38.             System.out.println("允许入内");
  39.         }

  40.     }
复制代码
Screenshot_20210317_202747_com.mosoink.teach.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-3-18 10:03:26 From FishC Mobile | 显示全部楼层
你试一试
if(isStudent ! false)
修改成
if(!isStudent )
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-18 16:47:46 | 显示全部楼层
wp231957 发表于 2021-3-18 10:03
你试一试
if(isStudent ! false)
修改成

不太行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-19 16:23:25 | 显示全部楼层
首先提出几个问题:
1.你知道!是干嘛用的吗?语法格式怎么写吗?
2.你知道if判断条件该怎么写吗?
3.你家输入的system.in要用双引号呀,嗯?

  1. package com.lian.entity;

  2. import java.util.Scanner;

  3. public class AA {
  4.     // 定义全局静态变量isStudent,默认false
  5.     private static boolean isStudent = false;

  6.     public static void main(String[] args) {
  7.         System.out.println("是否是本校生,请输入是或不是:");
  8.         Scanner scanner = new Scanner(System.in);
  9.         String next = scanner.next();
  10.         if ("是".equals(next))
  11.             isStudent = true;
  12.         if (!isStudent)
  13.             //!报错
  14.             System.out.println("不允许入内");
  15.         else
  16.             System.out.println("允许入内");
  17.     }
  18. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-19 18:46:10 | 显示全部楼层
if(isStudent ! false)   好像没有这种语法结构吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-20 17:05:32 | 显示全部楼层
连帅帅 发表于 2021-3-19 16:23
首先提出几个问题:
1.你知道!是干嘛用的吗?语法格式怎么写吗?
2.你知道if判断条件该怎么写吗?

问题是这个吗,打错了,问题是!怎么用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-21 06:24:31 | 显示全部楼层    本楼为最佳答案   
  1. public static void main(String[] args) {
  2.         System.out.println("是否是本校生:");
  3.         // Scanner的参数是一般是输入流,会从控制台读取用户的输入流,题主这边用字符串作为参数
  4.         // 系统会认为这个是系统的输入。
  5. //        Scanner scanner = new Scanner("System.in");
  6.         // 这为正确的写法
  7.         Scanner scanner = new Scanner(System.in);
  8.         // 后面读用户的输入不建议使用nextBoolean,用户的输入是无法确定,一旦输入的类型不是布尔类型的会抛异常
  9. //        boolean isStudent =scanner.nextBoolean();
  10.         // 建议用nextLine读取用户输入的一行进行判断
  11.         String next = scanner.nextLine();


  12.         /*
  13.         * 首先!(感叹号)是单目运算,是用来否定当前的值,即 如果 boolean flag = true
  14.         *   则 !flag == false
  15.         * 另外在Java中if的条件判断中的值如果是boolean类型的话并不需要做任何的运算,因为其本身就是运算了
  16.         *
  17.         * 即 if(flag == true) 可以写为if(flag)
  18.         * if(flag == false) 可以写为if(!flag)
  19.         *
  20.         * */
  21. //        if(isStudent ! false) {
  22. //            //!报错
  23. //            System.out.println("允许入内");
  24. //        }else {
  25. //            System.out.println("不允许入内");
  26. //        }

  27.         // 针对题主的题目,我的想法是:
  28.         boolean isStudent = scanner.nextLine().equals("是");
  29.         if (isStudent) {
  30.             System.out.println("允许入内");
  31.         } else {
  32.             System.out.println("不允许入内");
  33.         }

  34.         // 针对使用! 非运算符的计算:
  35.         if (!isStudent) {
  36.             System.out.println("不允许入内");
  37.         } else {
  38.             System.out.println("允许入内");
  39.         }

  40.     }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-21 20:25:02 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-22 15:30:41 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-15 12:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表