我想在Java中创建一个程序,从user_input获得数字,并使其成为货币格式…以下是我的代码
package Seperator_checker;
import java.util.Scanner;
public class Seperator {
public static void main(String[] args) {
Scanner number=new Scanner(System.in);
System.out.print("Please Enter Your Number: ");
String user_number=number.next();
if(user_number.length()> 3) {
user_number=user_number.substring(0,user_number.length()-3) + "," + user_number.substring(0,1);
System.out.println("________________________________________");
System.out.println("Your Currency Number Is: "+ user_number);
}
}
}
发布于 2018-09-12 03:58:15
我能想到的一个自发的答案是将字符串拆分成一个字符列表,然后向后遍历它,并在每三步之后插入一个,
,直到到达开头。
伪码:
Convert String to Char List
goto end of List
counter = 0
while havent reached beginning of list
counter += 1
if counter == 3
counter = 0
insert ',' into List
//maybe go back one here too depending on implementation of
//insert and which is the current element after inserting
end if
go one back one element in List
end while
对不起,我不知道怎么写伪代码
发布于 2018-09-15 04:02:23
如果必须使用子字符串:
我不知道如何将其表达出来,所以下面是代码:)
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
int rest = input.length() % 3;
if(rest == 0){
rest = 3;
}
//add the "irregular" comma
input = input.substring(0,rest) + "," + input.substring(rest);
//add the rest
for(int i = rest+1;i < input.length()-3; i+= 4){//4 because of the comma
input = input.substring(0, i+3) + "," + input.substring(i+3, input.length());
}
System.out.println(input);
}
}
(基本上首先处理开头的不规则部分,然后按步骤3 (4,因为您插入逗号)并插入逗号)
希望这能有所帮助:)
https://stackoverflow.com/questions/52283146
复制相似问题