Что не так с моим кодом Java для ввода имени, возраста и просмотра, если человек достаточно взрослый, чтобы что-то сделать?

Что не так с моим кодом? Утверждение 'if', похоже, не работает! Я запускаю программу и ввожу свое имя и возраст. Я ввожу возраст, подходящий для использования программы, но он говорит, что я слишком молод. Я закодировал это, и это не позволит мне использовать его!

import java.util.Scanner;

public class learning {
    public static void main(String args[]){

        Scanner uI = new Scanner(System.in);

        System.out.println("Enter your name: ");
        System.out.print(uI.nextLine());
        System.out.println(", enter your age: ");
        uI.nextInt();
        int person = 10;

        if (person > 10){
            System.out.println("You may use this program!");
        }else{
            System.out.println("You may not use this program. You are too young!");
        }

        uI.close();
    }
}
0
всегда оставляйте полезные вопросы
добавлено автор Manish Nagar, источник

6 ответы

Вы не назначаете uI.nextInt (); для любой переменной int. Подобно :

    System.out.println(", enter your age: ");
    int personAge = uI.nextInt();
    int person = 10;//instead use this as constant, public static final int MIN_ALLOWED_AGE = 11;

    if (personAge > person){  //if (personAge >= MIN_ALLOWED_AGE){
        System.out.println("You may use this program!");
    }else{
        System.out.println("You may not use this program. You are too young!");
    }
3
добавлено
Спасибо огромное! Вау, я опубликовал это 8 минут назад, и у меня уже есть 5 ответов, все правильно! Я помню, что узнал об этом, я думаю, у меня есть сбой в мозге!
добавлено автор MCPistomania, источник

используйте этот код

public class learning {
   public static void main(String args[]){

    Scanner uI = new Scanner(System.in);

    System.out.println("Enter your name: ");
    System.out.print(uI.nextLine());
    System.out.println(", enter your age: ");

    int person = uI.nextInt();

    if (person > 10){
        System.out.println("You may use this program!");
    }else{
        System.out.println("You may not use this program. You are too young!");
    }

    uI.close();
  }
}
1
добавлено

Итак, прямо сейчас ваше заявление if:

if (person > 10)

Когда, если вы хотите, чтобы он работал в возрасте от 10 лет и старше, он должен быть:

if (person >= 10)

Надеюсь, это поможет!

1
добавлено
Где ОП говорит 10 и старше? Не отредактировал ли он?
добавлено автор irrelephant, источник
Спасибо, но я понял это через 2 минуты после того, как я опубликовал. Моя реальная проблема заключалась не в присвоении uI.nextInt (); к переменной!
добавлено автор MCPistomania, источник

10 никогда не больше 10, поэтому ваш код не работает. сделай это

person>=10
1
добавлено

Ok, first you're assigning the variable a static value on line 12, you're using the ">" operator when you should be using >=. and finally, you might consider assigning the result of uI.nextInt() to person before the test instead of setting it to a static value.

0
добавлено
вы имеете в виду > и > = .
добавлено автор Harry Joy, источник
Спасибо @HarryJoy, толстые пальцы
добавлено автор hd1, источник
    int person = 10;

    if (person > 10){
        System.out.println("You may use this program!");
    }else{
        System.out.println("You may not use this program. You are too young!");
    }

вы вообще не меняете стоимость человека! Это должно быть всегда 10.

0
добавлено
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async