当前位置: 首页 > 面试题库 >

Java家庭作业用户输入问题

南宫浩皛
2023-03-14
问题内容

我有一个班级任务要使用扫描仪读取数据。

import java.util.Scanner;

public class Project23
{
    public static void main(String[] args)
    {
        // Declarations and instantiations.
        Scanner scan = new Scanner(System.in);
        String any = "";
        boolean more = false;
        double purchase = 0.0;

        // Ask if user would like to run program?
        System.out.print("Do you have any purchases? Y/N?: ");

        // Ready value into string.
        any = scan.nextLine();
        System.out.println();

        // If any is equal to y or Y it will set the value of more to true
        // this runs the while statement below.
        more = any.toUpperCase().equals("Y");

        // While more is still true continue to run the code within the brackets.
        while (more)
        {
            System.out.print("Please input purchase amount: ");
            purchase += scan.nextDouble();
            System.out.println();

            System.out.print("Do you have any more purchases Y/N?: ");
            any = scan.nextLine();
            System.out.println();

            more = any.toUpperCase().equals("Y");
        }

        if (purchase >= 2500)
            System.out.println("Purchase >= 2500");
        else
            System.out.println("Purchase < 2500");
    }
}

最下面的部分是对我的测试,以检查是否一切正常。但是,虽然我已设置了while循环,但似乎不想继续运行一次以上。它会取一个值,然后如果我说是,我有更多的值(y或Y),它将退出并打印两个笨蛋


问题答案:

scan.nextLine()时,它将读取不等于Y或y的结束符。结果,它退出了while循环。像这样更正您的代码,只需更改您正在阅读doubel的一行即可:

while(more){

    System.out.print("Please input purchase amount: ");
    purchase+=Double.parseDouble(scan.nextLine());
    System.out.println();
    System.out.print("Do you have any more purchases Y/N?: ");
    // scan.nextLine();
    String any1=scan.nextLine();
    System.out.println();       
    more = any1.equals("y") || any1.equals("Y");//Shortened :)
}


 类似资料:
  • 我有一个课堂作业,用扫描器读取数据。 底部的部分只是为了测试我是否所有的信号都正常运行。但是,我安装的while循环似乎不想继续运行多次。它将接受一个值,然后如果我说是,我有更多的值(y或y),它将退出并打印任何一个胸部

  • WeBWorK 是一个用 Perl 语言开发的,用来给学生布置家庭作业的系统,基于Web。

  • 嗨,伙计们。我们被分配了一个关于抢占优先调度的任务,我真的不知道如何做到这一点,因为两个或多个进程具有相同的优先级编号。 我必须做一个甘特图,计算周转时间和平均等待时间。 如果可能的话,你们能否发布一个关于如何做到这一点的分步解决方案,以便我可以研究它是如何完成的。 谢谢你们的帮助。

  • 我努力解决问题,我真的很接近,但我很困惑为什么我的程序似乎跳过,没有读取输入学生姓名部分我的输入。当学生数为1时,似乎也有这个问题。任何帮助都将不胜感激!:]

  • 我需要一种允许用户输入团队名称和团队成员名称的方法。我试过使用扫描仪,但由于我对Java的经验不足,它无法正常工作。我只想让一个用户输入一个团队名称和四个团队成员的名字。我将这些变量公之于众,但我不知道如何向它们输入数据,因为它们在单独的类中。 这是密码 main类导入java.util.Scanner;公共类Main{

  • 本文向大家介绍技术入股创业一年,家庭收入变成负5万,包括了技术入股创业一年,家庭收入变成负5万的使用技巧和注意事项,需要的朋友参考一下   一、技术入股的创业一年,家庭收入变成负5万   先说明,本人做技术出身,在外企的核心部门工作几年,总之一句话,技术通过朋友啊同事合作,基本上可以搞定。去年3月份跟一个人合作,对方投资100w,注册了个股份公司,本人占5%的股份,我个人没有实际出资,当时协商项目