在构造函数中使用循环 - java

Rai*_*ses -1 java constructor

我是新手程序员.我正在尝试创建一个接受String的类,返回一个有理数,我打算用这个类进行基本的数学计算(+ - */).我将我的字段设置为public并添加了一个接受字符串的构造函数,然后测试一个数字是否为十进制数,如果是十进制则将其转换为rational,如果不是则将其转换为相同.但是,当我尝试编译时,我收到此错误:"类,接口或枚举预期"我检查我的{}并且它们似乎都已到位..这是我的代码

import java.lang.*; 
public class RationalNumbers{

    double numarator; 
    double denominator; 

    public RationalNumbers (String(val)){
        numerator = Integer.parseInt(val); 
        for (int i = 1; i< val.length(); i++){
            if(Val.charAt(i) == '.'){
                numerator = Math.round((numerator * Math.pow(10,(numeratorAsString.length() - (i+ 1))))); 
                denominator =  Math.pow(10,(numeratorAsString.length() - (i+ 1)));

            }else {
                numerator = numarator * 1;
                denominator = 1; 
            }
        } 
    }
    public String toString(){
        return "(" + numarator + " " + denominator + ")";
    }
}
Run Code Online (Sandbox Code Playgroud)

gef*_*fei 5

改变public RationalNumbers (String(val)){

public RationalNumbers (String val){
Run Code Online (Sandbox Code Playgroud)