Java 程序应在用户确认后返回数据输入,并在用户确认后终止
我想通过请求y/n输入,循环我的代码返回到输入的分子和分母部分。我正在使用封装(学校项目),我不知道如何做。以下是说明: 编写具有以下规范的Java程序:Java 程序应在用户确认后返回数据输入,并在用户确认后终止,java,Java,我想通过请求y/n输入,循环我的代码返回到输入的分子和分母部分。我正在使用封装(学校项目),我不知道如何做。以下是说明: 编写具有以下规范的Java程序: 在分数类中定义两个私有属性:分子和分母。定义此类的构造函数 定义分数类的setter(mutator)和getter(accessor) 在Fraction类中还定义以下自定义方法: A.显示分形形式 B确定性西学期 C确定CIMALEquivalent D确定动作类型 分数类型如下所示: A.适当分数–分子小于分母 B不正确分数–分子大于分
import java.util.Scanner;
公共班机
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
分数分数分数=新分数();
System.out.println(“输入分子:”);
frac.setNum(input.nextInt());
System.out.println(“输入分母:”);
frac.setDen(input.nextInt());
System.out.println(“*******************输出*******************”);
System.out.println(“分子:+frac.getNum());
System.out.println(“分母:+frac.getDen());
System.out.println(“分数形式:+frac.getShowFractionForm());
System.out.println(“最低期限:+frac.getDetermineLowestTerm());
System.out.println(“最低项:+frac.getDeterminefActionType());
System.out.println(“十进制等价物:+frac.getdeterminatedCIMALEquivalent());
}
公共静态类分数
{
私有整数,den;
私有字符串showFractionForm;
私有字符串determinefActionType;
专用字符串限定词;
私有双确定CIMALEquivalent;
//访问者
公共字符串getShowFractionForm()
{
字符串num1=Integer.toString(num);
字符串den1=Integer.toString(den);
showFractionForm=num+“/”+den;
返回showFractionForm;
}
公共字符串getDeterminefActionType()
{
如果(数量%den==0){
DeterminefActionType=(“整数”);
}否则如果(数量<密度){
DeterminefActionType=(“适当分数”);
}否则如果(数值>密度){
DeterminefActionType=(“不当分数”);
}
返回确定动作类型;
}
公共字符串getDetermineLowestTerm()
{
int较小=num0;--i){
if(num%i==0&&den%i==0)
{
HCF=i;
determinitelowestterm=(num/HCF)+“/”+(den/HCF);
打破
}
}
返回期限;
}
公共双GetDeterminateCimaleEquivalent()
{
determinatedCIMALEquivalent=(双)num/den;
返回确定CIMALEQUALE;
}
公共int getNum()
{
返回num;
}
公共整数getDen()
{
返回巢穴;
}
//突变子
公共void ShowFractionForm(字符串形式)
{
this.showFractionForm=表格;
}
公共void setDeterminefActionType(字符串类型)
{
this.determinefActionType=类型;
}
public void setDetermineLowestTerm(字符串术语)
{
this.determineLowestTerm=期限;
}
public void setdeterminatedCIMALEquivalent(整数十进制)
{
这个。determinatedCIMALEquivalent=十进制;
}
公共void setNum(int num)
{
this.num=num;
}
公共无效设置(内部设置)
{
this.den=den;
}
}
}
我想这样做会对您有所帮助:
Scanner sc = new Scanner(System.in);
System.out.println("Again? y/n");
String answer = sc.next();
while (answer.equals("y")) {
System.out.println("Looping job!");
System.out.println("Again? y/n");
answer = sc.next();
if(answer.equals("n")) {
System.out.println("bye T.T");
break;
}
}
你可以这样尝试smth:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Fraction frac = new Fraction();
boolean isContinue = true;
while (isContinue) {
System.out.println("Enter numerator: ");
frac.setNum(input.nextInt());
System.out.println("Enter denominator: ");
frac.setDen(input.nextInt());
System.out.println("***************OUTPUT***************");
System.out.println("NUMERATOR: " + frac.getNum());
System.out.println("DENOMINATOR: " + frac.getDen());
System.out.println("FRACTION FORM: " + frac.getShowFractionForm());
System.out.println("LOWEST TERM: " + frac.getDetermineLowestTerm());
System.out.println("LOWEST TERM: " + frac.getDetermineFractionType());
System.out.println("DECIMAL EQUIVALENT: " + frac.getDetermineDecimalEquivalent());
System.out.println("Input again? [y/n]");
String result = input.next();
isContinue = result.equals("y");
}
}
有关while循环的更多信息:只需从以下内容开始包装所有内容:
System.out.println ("Enter numerator: ");
在一段时间内循环。如下图所示:
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
while(true) {
System.out.println("Enter numerator: ");
//enumerator code here
System.out.println("Enter denominator: ");
//denominator code here
//some additional code here
System.out.println("Again? ");
if (input.nextLine().toLowerCase().equals("n")) break;
}
}
TL;博士………您好,您能告诉我在我的主要功能中添加该功能的位置吗?
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
while(true) {
System.out.println("Enter numerator: ");
//enumerator code here
System.out.println("Enter denominator: ");
//denominator code here
//some additional code here
System.out.println("Again? ");
if (input.nextLine().toLowerCase().equals("n")) break;
}
}