В настоящее время мои программы работают нормально - они могут выполнять простые требования задачи. однако, мои проблемы:
1) моя программа печатает пи в n-й ди git, а не пи в n-й десятичной дроби - поэтому я исправил эту проблему делая n = n + 2, потому что если n = 3 (по умолчанию), он печатает 3.1, а НЕ 3.141.
2) принимает только значения 0 <= n <= 15 </p>
3) неэффективно и мне не хватает неизвестных концепций, которые мне еще предстоит открыть (я не знаю, что искать)
package venture1
import java.util.Scanner;
import java.lang.Math;
import java.util.ArrayList;
public class pi {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
n += 2; //the problem
double pi = Math.PI;
String sting = Double.toString(pi);
char[] cA = sting.toCharArray();
String start = "3."; //to concatenate to loop values
String result = ""; //final print value
for (int i = 1; i < n; i++) {
char digit =cA[i];
if (i == 1) {
result = start;
}
else {
result += digit;
}
}
System.out.println(result);
scan.close();
}
}