這是我的代碼刪除逗號
System.out.println("Enter any integer number ");
int number = scan.nextInt();
while (number > 0) { System.out.print(number % 10 + ",");number = number/10;}
爲了澄清,如果用戶輸入1234 輸出應該是4,3,2,1,
怎麼能我編輯代碼以刪除最後一個數字後的逗號? 像4,3,2,1
這是我的代碼刪除逗號
System.out.println("Enter any integer number ");
int number = scan.nextInt();
while (number > 0) { System.out.print(number % 10 + ",");number = number/10;}
爲了澄清,如果用戶輸入1234 輸出應該是4,3,2,1,
怎麼能我編輯代碼以刪除最後一個數字後的逗號? 像4,3,2,1
我會做以下
if (number > 0) {
System.out.print(number % 10);
number = number/10;
while (number > 0) {
System.out.print("," + (number % 10));
number = number/10;
}
}
打印的第一個元素,然後將所有其他的人在前面加上一個,
。這樣,你總是以一個
, X
其他選項做不必要的if
檢查。
''while /'10'後'while'循環可以嵌套到'if'嗎?畢竟,如果'(number> 0)'第一次評估爲false,那麼它是否也會爲'while'循環計算false,所以如果第一次失敗,我們不需要檢查兩次? – nhgrif
@nhgrif是的,好點。 –
既然大家是有一個重要的日子我會做這樣
while (number > 0) {
System.out.print(number % 10);
number = number/10;
if (number > 0)
System.out.print(",");
}
,這裏是我的:
while (number > 0) {
System.out.print(number % 10 + ((number/=10)>0 ? "," : ""));
}
這可能做的伎倆:
while (number > 0) {
System.out.print(number % 10);
number = number/10;
if(number!=0) System.out.print(",");
}
所有這裏顯示的代碼是無效的,因爲用戶可以輸入0和0應該打印出來。
有效的代碼將通過以下方式
do
{
System.out.print(number % 10);
number = number/10;
if (number != 0)
System.out.print(",");
} while (number != 0);
OP明確指出'while(number> 0)'。 –
@Sotirios Delimanolis,我認爲他和其他人一樣犯了同樣的錯誤。 –
所以OP不知道他們想要什麼? –
這是最優雅的方式我前進的道路選擇的是:
String delimiter = "";
while (number > 0) {
System.out.print(delimiter + number % 10);
number /= 10; delimiter = ",";
}
索蒂里奧斯的解決方案作品,但這裏是一個另類:
// replacing "scan" with an example number.
int start = 123456789;
for (int number = start; number > 0; number = number/10) {
if(number < start)
System.out.print(',');
System.out.print(number % 10);
}
這會幹掉倒數的計算(數/ 10),但t看看它是不是每個循環中的第一個。然而,我認爲那個測試會比字符串算法(「,」+(number%10))更快。
希望這會有所幫助。
int x;
Scanner scan = new Scanner(System.in);
System.out.print("Enter integer : ");
x = scan.nextInt();
for(x = 4; x>1; x = x-1)
{
System.out.print(x + ",");
}
if (x != 0) // this is so the last number doesn't end with a comma
{
System.out.print(x);
}
這絕對有效,如果它循環4下降到1。 –
我不會寫一行代碼來顯示OP,我只是說在第一次循環之後的每次迭代中首先寫入逗號。 (給一個男人一條魚,他吃了一天.....) – KevinDTimm