JavaSE part1 基礎程式設計day07
阿新 • • 發佈:2018-12-20
4_9 程式碼:
public static void main(String[] args){
double sum=0;
for(int i=1;i<=99;i+=2){
sum=sum+1.0*i/(i+2);
}
System.out.println(sum);
}
4_10 程式碼:
public static void main(String[] args){ double pi=0; for(int i=1;i<=1000000000;i++){ if(i%2==1){ pi=pi+1.0/(2*i-1); }else{ pi=pi-1.0/(2*i-1); } } System.out.println(4*pi); }
public static void main(String[] args){
double pi=0;
double flag=1.0;
for(int i=1;i<=1000000000;i++){
//pi=pi+Math.pow(-1, i+1)/(2*i-1);
pi=pi+flag/(2*i-1);
flag=-flag;
}
pi=4*pi;
System.out.println(pi);
}
4_11 程式碼:
public static void main(String[] args){ double e=0; for(int i=1;i<10000;i++){ double multi=1.0; for(int j=1;j<=i;j++){ multi=multi*j; } e=e+1/multi; } System.out.println(e); }
4_12 程式碼:
public static void main(String[] args) {
int count=0;
for(int i=101;i<=2100;i++){
if(i%4==0&&i%100!=0||i%400==0){
System.out.print(i+" ");
count++;
if(count%10==0){
System.out.println();
}
}
}
System.out.println("\n"+count);
}
4_13 程式碼:
public static void main(String[] args) { //輸入年份 星期 //輸出每個月的第一天是星期幾 //1.1 2.1 3.1...12.1 int year; int week; Scanner scanner=new Scanner(System.in); System.out.print("Enter year and week:"); year=scanner.nextInt();//2013 week=scanner.nextInt(); int m=0,y=0,k=0,j=0,h=0; String monthStr=""; String weekStr=""; for(int month=1;month<=12;month++){ m=month; y=year;//2013 if(m==1||m==2){ m+=12; y--; } k=y%100; j=y/100; h=(1+26*(month+1)/10+k+k/4+j/4+5*j)%7; switch (month) { case 1: monthStr="January"; break; case 2: monthStr="February"; break; case 3: monthStr="March"; break; case 4: monthStr="April"; break; case 5: monthStr="May"; break; case 6: monthStr="June"; break; case 7: monthStr="July"; break; case 8: monthStr="August"; break; case 9: monthStr="September"; break; case 10: monthStr="October"; break; case 11: monthStr="November"; break; case 12: monthStr="December"; break; } switch (h) { case 0: weekStr="Saturday"; break; case 1: weekStr="Sunday"; break; case 2: weekStr="Monday"; break; case 3: weekStr="Tuesday"; break; case 4: weekStr="Wednesday"; break; case 5: weekStr="Thursday"; break; case 6: weekStr="Friday"; break; } System.out.println(monthStr+" 1,"+year+" is "+weekStr); } }
4_15 程式碼:
public static void main(String[] args){
int sum=0;
for(int i=1;i<=10000;i++){
for(int j=1;j<=i/2;j++){
if(i%j==0){
sum+=j;
}
}
if(sum==i){
System.out.println(i);
}
sum=0;
}
}
4_16 程式碼:
public static void main(String[] aargs){
int cCount=0;
int pCount=0;
Scanner scanner=new Scanner(System.in);
while(true){
System.out.print("請輸入;0剪刀1石頭2布:");
int p=scanner.nextInt();
int c=(int) (Math.random()*3);
if(p==c){
System.out.println("平局,請繼續!");
}
if(p==0&&c==1){
System.out.println("玩家剪刀,電腦石頭,電腦贏");
cCount++;
}
if(p==0&&c==2){
System.out.println("玩家剪刀,電腦布,玩家贏");
pCount++;
}
if(p==2&&c==0){
System.out.println("玩家布,電腦剪刀,電腦贏");
cCount++;
}
if(p==2&&c==1){
System.out.println("玩家布,電腦石頭,玩家贏");
pCount++;
}
if(p==1&&c==2){
System.out.println("玩家石頭,電腦布,電腦贏");
cCount++;
}
if(p==1&&c==0){
System.out.println("玩家石頭,電腦剪刀,玩家贏");
pCount++;
}
if(cCount==2||pCount==2){
break;
}
}
if(cCount==2){//Unreachable code
System.out.println("遊戲結束,最終電腦贏!");
}else{
System.out.println("遊戲結束,最終玩家贏!");
}
}
4_17 程式碼:
public static void main(String[] args){
double sum=0;
for(int i=1;i<=624;i++){
sum=sum+1/(Math.sqrt(i)+Math.sqrt(i+1));
}
System.out.print(sum);
}
4_18 程式碼:
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter a number:");
int number=scanner.nextInt();
String str="";
while(true){
int num=number%16;
if(num>=10){
switch(num){
case 10:
str="A"+str;
break;
case 11:
str="B"+str;
break;
case 12:
str="C"+str;
break;
case 13:
str="D"+str;
break;
case 14:
str="E"+str;
break;
case 15:
str="F"+str;
break;
}
}else{
str=num+str;
}
number/=16;
if(number==0){
break;
}
// str=number%2+str;
// number/=2;
// if(number==0){
// break;
// }
}
System.out.print("0X"+str);
}
4_19 程式碼:
public static void main(String[] args){
int max=0;
int count=0;
Scanner scanner=new Scanner(System.in);
System.out.print("Enter numbers:");
while(true){
int n=scanner.nextInt();
if(n>max){
max=n;
count=1;
}else if(n==max){
count++;
}else if(n==0){
break;
}
}
System.out.print(max+":"+count);
}
4_20 程式碼:
public static void main(String[] args){
int count=0;
for(int i=1;i<=6;i++){
for(int j=i+1;j<=7;j++){
System.out.println(i+":"+j);
count++;
}
}
System.out.print("count:"+count);
}
4_21 程式碼:
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
double sum=0;
double powSum=0;
System.out.print("Enter 10 numbers:");
for(int i=1;i<=10;i++){
double num=scanner.nextDouble();
sum+=num;
powSum+=num*num;
}
double mean=sum/10;
double sd=Math.sqrt( (powSum-sum*sum/10)/9);
System.out.println("mean= "+mean);
System.out.println("sd= "+sd);
}
4_22 程式碼:
public static void main(String[] args){
//提示使用者輸入兩個字串
Scanner scanner=new Scanner(System.in);
System.out.print("Enter a str1:");
String s1=scanner.nextLine();
System.out.print("Enter a str2:");
String s2=scanner.nextLine();
//比較兩個字串 Math.min
//相對應字元挨個比較 直到不相等或最短的遍歷完
int i=0;
for(;i<=Math.min(s1.length(), s2.length());i++){
if(s1.charAt(i)!=s2.charAt(i)){
break;
}
}
//通過 substring(0,i)擷取
System.out.print("["+s1.substring(0, i)+"]");
}
4_23 程式碼:
public static void main(String[] args) {
//1.獲取字串
Scanner scanner=new Scanner(System.in);
System.out.print("Enter a string:");
String s=scanner.nextLine();
//2.遍歷字元
int count=0;
for(int i=0;i<s.length();i++){
if(s.charAt(i)>=65&&s.charAt(i)<=90){
count++;
}
}
System.out.println(count);
}
4_24 程式碼:
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("Enter a string:");
String str=scanner.nextLine();
for(int i=0;i<str.length();i++){
if(i%2==0){
System.out.print(str.charAt(i));
}
}
}