小编jcs*_*sun的帖子

从java中的格式化文本中扫描数字

我有这样的格式化文本:

x.i9j11k2d1" index="603" value="0"/>
x.i9j11k2d2" index="604" value="0"/>
x.i9j11k2d3" index="605" value="0"/>
x.i10j1k1d1" index="606" value="-0"/>
Run Code Online (Sandbox Code Playgroud)

而且,我对仅扫描数字感兴趣.例如:

int i,j,k,d,index,value;
Run Code Online (Sandbox Code Playgroud)

对于我想要的第一行:

i=9, j=11, k=2, d=1, index=603, value=0
Run Code Online (Sandbox Code Playgroud)

为此,我使用了以下代码:

Scanner file=new Scanner(new File("C:/sol.txt"));
while(file.hasNext())
    {           
        System.out.println("");
        int i=0;
        int j=0;
        int k=0;
        int d=0;
        file.useDelimiter("");          
        while(!(file.hasNextInt()))
        {
            System.out.print(file.next());
        }
        //System.out.print(file.next());
        file.useDelimiter("j");
        i=file.nextInt();
        System.out.print(i);
        file.useDelimiter("");

        System.out.print(file.next());      //j
        file.useDelimiter("k");
        j=file.nextInt();
        System.out.print(j);
        file.useDelimiter("");

        System.out.print(file.next());      //k
        k=file.nextInt();
        System.out.print(k);
        System.out.print(file.next());      //d
        d=file.nextInt();
        System.out.print(d);
        while(!(file.hasNextInt()))
        {
            System.out.print(file.next());
        }
        file.useDelimiter("\"");
        int index=file.nextInt();
        System.out.print(index);
        file.useDelimiter("");
        while(!(file.hasNextInt()))
        {
            System.out.print(file.next());
        }
        int value=file.nextInt();
        System.out.print(value);
        System.out.print(file.nextLine()); …
Run Code Online (Sandbox Code Playgroud)

java java.util.scanner

8
推荐指数
1
解决办法
258
查看次数

标签 统计

java ×1

java.util.scanner ×1