鱼C论坛

 找回密码
 立即注册
查看: 6422|回复: 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
public static void main(String[] args) {
        System.out.println("是否是本校生:");
        // Scanner的参数是一般是输入流,会从控制台读取用户的输入流,题主这边用字符串作为参数
        // 系统会认为这个是系统的输入。
//        Scanner scanner = new Scanner("System.in");
        // 这为正确的写法
        Scanner scanner = new Scanner(System.in);
        // 后面读用户的输入不建议使用nextBoolean,用户的输入是无法确定,一旦输入的类型不是布尔类型的会抛异常
//        boolean isStudent =scanner.nextBoolean();
        // 建议用nextLine读取用户输入的一行进行判断
        String next = scanner.nextLine();


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

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

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

    }
Screenshot_20210317_202747_com.mosoink.teach.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-18 10:03:26 From FishC Mobile | 显示全部楼层
你试一试
if(isStudent ! false)
修改成
if(!isStudent )
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

不太行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

import java.util.Scanner;

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

    public static void main(String[] args) {
        System.out.println("是否是本校生,请输入是或不是:");
        Scanner scanner = new Scanner(System.in);
        String next = scanner.next();
        if ("是".equals(next))
            isStudent = true;
        if (!isStudent)
            //!报错
            System.out.println("不允许入内");
        else
            System.out.println("允许入内");
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-19 18:46:10 | 显示全部楼层
if(isStudent ! false)   好像没有这种语法结构吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

问题是这个吗,打错了,问题是!怎么用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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


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

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

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

    }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-21 20:25:02 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-22 15:30:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 19:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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