1.要求是先判斷字符串是不是有效的字符串,就是可以設置幾個參數對字符串里面的東西進行分類,就是數字分為一類,然后‘.’一類,然后'+'和'-'號各一類。然后如果‘.’的個數不超過一個,+和-號的和不超過一個,然后這幾個分類加起來的個數就是字符串的個數的話,就說明這個字符串是有效的。然后再將字符串轉化為浮點數輸出就行了。
2.類中的函數:
public class DoubleConverter { public boolean check(String value) { int i=0,j=0,k=0,m=0,n=0; for(i=0;i<value.length();i++) { if(value.charAt(i)>='0'&&value.charAt(i)<='9') { j++; } if(value.charAt(i)=='.') { k++; } if(value.charAt(i)=='+') { m++; } if(value.charAt(i)=='-') { n++; } } if(k>=0&&k<=1&&(m+n)>=0&&(m+n)<=1&&(j+k+m+n)==value.length()) { System.out.println("yes!"); return true; } else System.out.println("no!"); return false; } public double convert(String value) { if(check(value)==false) { return 0.0; } else return Double.valueOf(value.toString());//將字符串轉化為浮點數 } }
3.主函數的代碼:
import java.util.Scanner; public class doublemain { public static void main(String[] args) { // TODO Auto-generated method stub String c1=new String(); System.out.println("請輸入字符串:"); Scanner sc=new Scanner(System.in); c1=sc.next();//這里注意字符串的輸入使用sc.next(); DoubleConverter c2=new DoubleConverter(); System.out.println(c2.convert(c1)); } }
4.實驗結果