Java - сканирование двойных и целых значений, разделенных запятыми
Я пытаюсь использовать класс Java Scanner для сканирования в двойных и int значениях, разделенных запятыми.
СледующиеScanner input = new Scanner(System.in).useDelimiter("\\D");
может сканировать только значения int, разделенные,
, например вход =1000,2,3
Как сканировать в двойных и целых значениях, разделенных,
например вход =1000.00,3.25,5
или же100.00,2,3.5
?
Я попробовал следующее, но они не работают:
Scanner input = new Scanner(System.in).useDelimiter(",");
Scanner input = new Scanner(System.in).useDelimiter("\\,");
Scanner input = new Scanner(System.in).useDelimiter("[,]");
Используя их, кажется, повесить код. После ввода примера ввода System.out.println не выполнялся для проверенных переменных.
Ниже приведен мой пример кода:
import java.io.*;
import java.util.Scanner;
public class Solution {
public static void main(String args[] ) throws Exception {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
System.out.print("Enter your values: ");
// Scanner input = new Scanner(System.in).useDelimiter("\\D");
Scanner input = new Scanner(System.in).useDelimiter(",");
// Scanner input = new Scanner(System.in).useDelimiter("\\,");
// Scanner input = new Scanner(System.in).useDelimiter("[,]");
double investmentAmount = input.nextDouble();
double monthlyInterestRate = input.nextDouble() / 100 / 12;
double numberOfYears = input.nextDouble();
double duration = numberOfYears * 12;
double futureInvestmentValue = investmentAmount * Math.pow((1 + monthlyInterestRate), duration);
System.out.println(investmentAmount);
System.out.println(monthlyInterestRate);
System.out.println(numberOfYears);
System.out.println(duration);
System.out.println("Accumulated value is " + futureInvestmentValue);
}
}
Решение найдено
Обновление строки Сканера до следующего, кажется, исправило это:
Scanner input = new Scanner(System.in).useDelimiter("[,\n]");