gpt4 book ai didi

java - 在一行中显示多个分数的运算

转载 作者:行者123 更新时间:2023-11-30 08:08:54 26 4
gpt4 key购买 nike

以下代码按预期工作,但是我无法在一行上显示输出。所有数字都是使用 Random() 函数打印的随机数

As of now, it's printing like this:

38 
--- +
45
90
--- +
16
29
--- +
21
54
--- +
99


= 211
---
181

The output should be displayed like this:

38      90       29     54     211
--- + ---- + ---- + ---- = -----
45 16 21 99 181

代码:

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class FractionJava2 {

public static void main(String[] args) {

/* Array to store Numerator variables */
int[] num = new int[4];

/* Array to store Denominator variables */
int [] denom = new int[4];

/* Variable to hold the operator sign */
char ch ;

/* Random function to get the random numbers */
Random random = new Random();

/* Scanner function to take the user input */
Scanner scan = new Scanner(System.in);

int num_sum[] = new int[num.length];
int denom_sum[] = new int[denom.length];


for (int i = 0, j=0; i < denom.length; i++, j++) {

num[i] = random.nextInt(100)+1;
denom[j]=random.nextInt(100)+1;

System.out.println("Numerators are: " +num[i]);
System.out.println("Denominators are: "+denom[i]);
}


System.out.println("Enter the operation you wish to perform");
ch = scan.next().toCharArray()[0];

System.out.println("\nThe resultant fraction is: ");

/* Variable to hold the sum of numerator values */
int numeratorSum = 0;

/* Variable to hold the sum of denominator values */
int denominatorSum = 0;


switch(ch){

case '+' :


for (int i = 0; i < denom_sum.length; i++) {

num_sum[i] = num_sum[i] + num[i];
denom_sum[i] = denom_sum[i]+ denom[i];

System.out.printf("%d \n", num_sum[i]);
System.out.printf("--- %c \n", ch);
System.out.printf("%d \n", denom_sum[i]);

numeratorSum = numeratorSum + num_sum[i];
denominatorSum = denominatorSum + denom_sum[i];
}
System.out.println("\n");
System.out.printf("=\t");
System.out.printf("%d \n", numeratorSum);
System.out.printf("\t--- \n", ch);
System.out.printf("\t%d ", denominatorSum);

}
}
}

I'm unable to trace out, as to what is preventing from printing the desired output.
Please help !!!

最佳答案

您将需要多个循环,每个输出行一个循环:

            // first line
for (int i = 0; i < denom_sum.length; i++) {
num_sum[i] = num_sum[i] + num[i];
System.out.printf("%d ", num_sum[i]);
numeratorSum = numeratorSum + num_sum[i];
}
System.out.printf(" %d \n", numeratorSum);
// second line
for (int i = 0; i < denom_sum.length; i++) {
System.out.printf("--- %c", ch);
}
System.out.printf("=\t --- \n", ch);
// third line
for (int i = 0; i < denom_sum.length; i++) {
denom_sum[i] = denom_sum[i]+ denom[i];
System.out.printf("%d ", denom_sum[i]);
denominatorSum = denominatorSum + denom_sum[i];
}
System.out.printf("\t%d \n", denominatorSum);

我可能把空格和制表符弄错了,但你明白了。

顺便说一句,您的输出不正确。这不是分数相加的方法。

关于java - 在一行中显示多个分数的运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30693874/

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