標籤:簡單 新手 integer href package value div 判斷 string轉換
首先,先看一道編程題目:
A除以B (20)時間限制 1000 ms 記憶體限制 32768 KB 代碼長度限制 100 KB 判斷程式 Standard (來自 小小)
題目描述
本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。
輸入描述:
輸入在1行中依次給出A和B,中間以1空格分隔。
輸出描述:
在1行中依次輸出Q和R,中間以1空格分隔。
輸入例子:
123456789050987654321 7
輸出例子:
17636684150141093474 3
要求:用java來完成,我相信很多人用C幾分鐘就可以完成了,但是呢,如果你是一個java新手,當你剛剛看完題目的時候,覺得非常簡單,你們往往就會跳過,
但是其中包含的知識,你們也許不懂。
我來說說我的解題思想:用String字串來完成,剛做的時候,陷入了開頭剩0的漩渦之後,後來想想,可以先0儲存,最後輸出的時候再處理。
實現代碼如下:
package package11;
import java.util.Scanner;
public class Main
{
public static void main(String []args)
{
Scanner cin = new Scanner(System.in);
String str;
String output = "";
int n;
int re;
str = cin.next();
n = cin.nextInt();
int len = str.length();
int k = 0;
int num;
for(int i = 0 ; i < len ; i++)
{
num = Integer.valueOf(String.valueOf(str.charAt(i)));
num += k*10;
if(num/n != 0)
{
output += String.valueOf(num/n);
k = num%n;
}
else
{
output += "0";
k = num;
}
}
int len1 = output.length();
int cnt = 0;
for(int i = 0 ; i < len1 ; i++)
{
if(cnt == 0 && output.charAt(i) == ‘0‘)
{
continue;
}
else
{
System.out.print(output.charAt(i));
cnt = 1;
}
}
System.out.print(" " + k);
}
}
其實:只要你懂得那些基本知識,就會很快做出來,但是,你要是不懂,肯定挺費勁的。
我來說說一些字串知識:
string 和int之間的轉換
string轉換成int :Integer.valueOf("12")//牢記,裡面是字串,不是單個字元。
int轉換成string : String.valueOf(12)
char和int之間的轉換
首先將char轉換成string
String str=String.valueOf(‘2‘)
Integer.valueof(str) 或者Integer.PaseInt(str)
Integer.valueof返回的是Integer對象,Integer.paseInt返回的是int
注意:System.out.println(Integer.valueOf(‘9‘));結果是:57
System.out.print(Integer.valueOf("9"));結果是:9
java,數字,字元,字串之間的轉化