美国-JAVA课程编程作业疑问

问题描述

JAVA课程编程作业疑问

老师要求的用户界面显示结果如下:
This program computes the total cost of a purchase. Enter the price of the purchased item. 12.50
Enter how many items are purchased? 3
The final cost of the purchase with the 7% tax applied is $40.125
以下是我的代码:
package jave.util;
import java.util.Scanner;
public class Assignment1 {
public static void main(String[] args) {
System.out.println("Please input the number");
Scanner N= new Scanner(System.in);
System.out.println("Please input the price");
Scanner P= new Scanner(System.in);
int number=N.nextInt();
double price=P.nextDouble();
double cost= (price*number*1.07);
System.out.println("The final cost of the purchase with the 7% tax applied is " + cost);
// TODO Auto-generated method stub

}

}

此时我输入数值的时候,两个数值是连续输入的,请问怎么编写才能令输入一个数值之后,再提示输入另外一个?(另外代码有什么可以优化的地方也请知道一下)

解决方案

调整后大致如下,不需要两个Scanner 对象,也不要太多的变量声明
package jave.util;
import java.util.Scanner;
public class Assignment1 {
public static void main(String[] args) {
Scanner N= new Scanner(System.in);
System.out.println("Please input the number");
int number=N.nextInt();
System.out.println("Please input the price");
double price=N.nextDouble();
System.out.println("The final cost of the purchase with the 7% tax applied is $" +(price*number*1.07));
}
}

解决方案二:

调一下位置就行了;
System.out.println("Please input the number");
Scanner N= new Scanner(System.in);
int number=N.nextInt();
System.out.println("Please input the price");
Scanner P= new Scanner(System.in);
double price=P.nextDouble();
double cost= (price*number*1.07);
System.out.println("The final cost of the purchase with the 7% tax applied is " + cost);
// TODO Auto-generated method stub

解决方案三:

问题解决,请记得及时采纳,楼上,不然会被封…

时间: 2024-08-06 23:45:31

美国-JAVA课程编程作业疑问的相关文章

java编程作业,跪求答案

问题描述 java编程作业,跪求答案 图为题目要求,原谅我英文差 解决方案 这就是让你用工厂模式去new 医院里面的那些人员.首先你写一个接口,比如说"医护工作人员",然后再分别写医生,护士等实体类去实现这个接口:最后有一个总的调用类负责生成这些实体堆箱,让后调用它们的方法.

课程大作业,用C++编程,火车订票系统,如何打印输出订购的车票,需要返回重新读取么?

问题描述 课程大作业,用C++编程,火车订票系统,如何打印输出订购的车票,需要返回重新读取么? 课程大作业,用C++编程,火车订票系统,如何打印输出订购的车票,需要返回重新读取么? 解决方案 一张票一旦出票,那么它就固定了.同时你的服务器就有记录了,不会重新售出相同的票.不应该重新读取. 解决方案二: 没搞太清楚你的问题.定好了票,打开订单,想打印就打印.

JAVA语言编程格式高级规范_java

作为一位开发人员,都要有严格的代码规范.为此我总结了一些代码规范案例. 目 录 1. 前言 2. 试用范围 3. JAVA命名规范-- 3.1 公共约定 3.2 Java文件.包 3.3 类.接口命名规范 3.4 方法命名规范 3.5 常量 3.6 变量和参数 3.7 组件/部件 3.8 集合 3.9 神秘的数 3.10 其他 3.11 Java异常 3.12 数组命名 3.13 数据库表命名规则 3.14 数据库字段命名规则 3.15 JSP文件命名 3.16 Servlet类命名 4. 书写

Java 并发编程学习笔记之Synchronized简介_java

一.Synchronized的基本使用 Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法.Synchronized的作用主要有三个:(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题.从语法上讲,Synchronized总共有三种用法: (1)修饰普通方法 (2)修饰静态方法 (3)修饰代码块 接下来我就通过几个例子程序来说明一下这三种使用方式(为了便于比较,三段代码除了Synchronized的使用方式不同以外,

详解Java线程编程中的volatile关键字的作用_java

1.volatile关键字的两层语义 一旦一个共享变量(类的成员变量.类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的. 2)禁止进行指令重排序. 先看一段代码,假如线程1先执行,线程2后执行: //线程1 boolean stop = false; while(!stop){ doSomething(); } //线程2 stop = true;   这段代码是很

java多线程编程实现下雪效果_java

没有直接采用继承Thread类或者继承Runnable的接口来实现多线程,而是使用了匿名内部类. 要导入的类: import javax.swing.*; import java.awt.*; 1.定义SowPanel类,继承JPanel类,这个类有两个整型数组成员,用来保存雪花起始位置.在构造函数中为数组赋初值:重写父类的paint()方法:定义一个启动多线程的startSnow()方法. class SnowPanel extends JPanel { //定义整型数组,存储雪花坐标 pri

理解Java设计模式编程中的迪米特原则_java

定义:一个对象应该对其他对象保持最少的了解. 问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大. 解决方案:尽量降低类与类之间的耦合.          自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚.无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量的低,才能提高代码的复用率.低耦合的优点不言而喻,但是怎么样编程才能做到低耦合呢?那正是迪米特法则要去完成的.          迪米特法则又叫最少知道原则,最早是在1987年

Java核心编程卷1:基础

现在已经步入了21世纪,我们很难想象曾经Java相关的图书是那样的稀少,但这就是Java刚出现时的情况.那时所有与Java相关的图书基本上都是由Sun公司的几个工程师们所发布的,比如说Arthur Van Hoff et.al所写的"Hooked on Java"以及Patrick Naughton所写的"The Java Handbook". 当然了,这些图书填补了Java的空白,不过每本书都有3.400页,这些图书都假设读者了解程序,特别是面向对象程序设计. 1

Java多线程编程实战之不提倡的方法

不提倡使用的方法是为支持向后兼容性而保留的那些方法,它们在以后的版本中可能出现,也可能不出现.Java 多线程支持在版本 1.1 和版本 1.2 中做了重大修订,stop().suspend() 和 resume() 函数已不提倡使用.这些函数在 JVM 中可能引入微妙的错误.虽然函数名可能听起来很诱人,但请抵制诱惑不要使用它们. 调试线程化的程序 在线程化的程序中,可能发生的某些常见而讨厌的情况是死锁.活锁.内存损坏和资源耗尽. 死锁 死锁可能是多线程程序最常见的问题.当一个线程需要一个资源而