gpt4 book ai didi

Java - 变量未为 do-while 循环初始化

转载 作者:行者123 更新时间:2023-12-02 09:25:18 25 4
gpt4 key购买 nike

我的代码中出现错误“选择尚未初始化”,但我之前已经初始化了它。目标是如果用户输入“y”,文件将循环到第一个选项。我真的需要你的专家帮助。代码在没有 do 的情况下很好,虽然它只是不循环,但有了它,我收到了未初始化的错误。

import java.util.Scanner;
/**
*
* @author Arren
*/
public class Math {

/**
* @param args the command line arguments
*/
@SuppressWarnings("empty-statement")
public static void main(String[] args) {
// TODO code application logic here

int numerator;
int denominator;
char Choice;

String showFractionForm;
int determineLowestTerm;
float determineDecimalEquivalent;
String determineFractionType;
{
do {
Scanner input = new Scanner(System.in);
System.out.print("Enter the numerator ==> ");
numerator = input.nextInt();
System.out.print("Enter the denominator ==> ");
denominator = input.nextInt();
showFractionForm = (numerator + "/" + denominator);
determineDecimalEquivalent = ((float) numerator) / denominator;
System.out.println("***************OUTPUT***************");
System.out.println("NUMERATOR : " + numerator);
System.out.println("DENOMINATOR : " + denominator);
System.out.println("FRACTION : " + showFractionForm);
int smaller = numerator < denominator ? numerator : denominator;
int HCF = -1;
for (int i = smaller; i > 0; --i) {
if (numerator % i == 0 && denominator % i == 0) {
HCF = i;
System.out.println("LOWEST TERM : " + (numerator / HCF) + "/" + (denominator / HCF));
System.out.println("DECIMAL EQUIVALENT : " + determineDecimalEquivalent);
if (numerator < denominator) {
System.out.println("FRACTION TYPE : PROPER FRACTION");
} else if (numerator > denominator) {
System.out.println("FRACTION TYPE : IMPROPER FRACTION");
} else {
System.out.println("FRACTION TYPE : WHOLE NUMBER");
}
System.out.println("");
System.out.println("Input again? [y/n] --> ");
Choice = input.next().charAt(0);
}
while (Choice != 'n');
}
}
}
}
}

最佳答案

我刚刚很好地格式化了您的程序,并且可以毫无问题地运行它。下面是格式化的程序:

import java.util.Scanner;

/**
*
* @author Arren
*/
public class Math {

/**
* @param args the command line arguments
*/
@SuppressWarnings("empty-statement")
public static void main(String[] args) {
// TODO code application logic here

int numerator;
int denominator;
char Choice;

String showFractionForm;
int determineLowestTerm;
float determineDecimalEquivalent;
String determineFractionType;

do {
Scanner input = new Scanner(System.in);
System.out.print("Enter the numerator ==> ");
numerator = input.nextInt();
System.out.print("Enter the denominator ==> ");
denominator = input.nextInt();
showFractionForm = (numerator + "/" + denominator);
determineDecimalEquivalent = ((float) numerator) / denominator;
System.out.println("***************OUTPUT***************");
System.out.println("NUMERATOR : " + numerator);
System.out.println("DENOMINATOR : " + denominator);
System.out.println("FRACTION : " + showFractionForm);
int smaller = numerator < denominator ? numerator : denominator;
int HCF = -1;
for (int i = smaller; i > 0; --i) {
if (numerator % i == 0 && denominator % i == 0) {
HCF = i;
System.out.println("LOWEST TERM : " + (numerator / HCF) + "/" + (denominator / HCF));
System.out.println("DECIMAL EQUIVALENT : " + determineDecimalEquivalent);
}
if (numerator < denominator) {
System.out.println("FRACTION TYPE : PROPER FRACTION");
} else if (numerator > denominator) {
System.out.println("FRACTION TYPE : IMPROPER FRACTION");
} else {
System.out.println("FRACTION TYPE : WHOLE NUMBER");
}
}
System.out.println("");
System.out.println("Input again? [y/n] --> ");
Choice = input.next().charAt(0);
} while (Choice != 'n');
}
}

示例运行:

Enter the numerator   ==> 12
Enter the denominator ==> 4
***************OUTPUT***************
NUMERATOR : 12
DENOMINATOR : 4
FRACTION : 12/4
LOWEST TERM : 3/1
DECIMAL EQUIVALENT : 3.0
FRACTION TYPE : IMPROPER FRACTION
FRACTION TYPE : IMPROPER FRACTION
LOWEST TERM : 6/2
DECIMAL EQUIVALENT : 3.0
FRACTION TYPE : IMPROPER FRACTION
LOWEST TERM : 12/4
DECIMAL EQUIVALENT : 3.0
FRACTION TYPE : IMPROPER FRACTION

Input again? [y/n] -->
y
Enter the numerator ==>

关于Java - 变量未为 do-while 循环初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58384038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com