Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过扫描仪进行搜索并将字符串除以空格?_Java_Arraylist_Java.util.scanner - Fatal编程技术网

Java 如何通过扫描仪进行搜索并将字符串除以空格?

Java 如何通过扫描仪进行搜索并将字符串除以空格?,java,arraylist,java.util.scanner,Java,Arraylist,Java.util.scanner,我试图通过从给定的扫描仪读取项目来构建一个存储。构造函数必须重复(直到项名称为*)从给定的扫描程序对象读取项,并将其添加到其资源清册中 面包税2.75 25 我需要将这样的字符串分为“Breadloaf”、“2.75”和“25”。然后转到下一行,执行相同的操作,直到它显示“*” 公共类存储{ 私有ArrayList目录; //建设者 /* *构造库存中没有任何项目的存储。 */ 公共商店(){ } /* *通过从给定的扫描程序读取项来构造存储 *必须重复(直到项目名称为*)从给定扫描仪读取项目

我试图通过从给定的扫描仪读取项目来构建一个存储。构造函数必须重复(直到项名称为*)从给定的扫描程序对象读取项,并将其添加到其资源清册中

面包税2.75 25

我需要将这样的字符串分为“Breadloaf”、“2.75”和“25”。然后转到下一行,执行相同的操作,直到它显示“*”

公共类存储{
私有ArrayList目录;
//建设者
/*
*构造库存中没有任何项目的存储。
*/
公共商店(){
}
/*
*通过从给定的扫描程序读取项来构造存储
*必须重复(直到项目名称为*)从给定扫描仪读取项目
*对象并将其添加到其清单中
*有三个项目),可以输入以从提供的
*扫描仪:
*/
公共商店(扫描仪键盘){
while(键盘!=null){
}
}

试试下面的代码。我最近检查过它是否有效

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MyClient {

    public static void main(String args[]) {

        List<Item> inventory = new ArrayList<Item>();

        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String s1 = sc.nextLine();

            if (s1.equals("*")) {
                break;
            } else {
                Scanner ls = new Scanner(s1);
                while (ls.hasNext()) {
                    Item item = new Item(ls.next(), ls.nextFloat(), ls.nextInt());
                    inventory.add(item);
                }

            }
        }
        System.out.println(inventory);

    }
}

在最后键入所有库存类型“*”(星号)后,它将列出所有输入的项目。

尝试下面的代码。我最近检查了它的工作原理

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MyClient {

    public static void main(String args[]) {

        List<Item> inventory = new ArrayList<Item>();

        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String s1 = sc.nextLine();

            if (s1.equals("*")) {
                break;
            } else {
                Scanner ls = new Scanner(s1);
                while (ls.hasNext()) {
                    Item item = new Item(ls.next(), ls.nextFloat(), ls.nextInt());
                    inventory.add(item);
                }

            }
        }
        System.out.println(inventory);

    }
}

在最后键入所有库存类型“*”(星号)后,它将列出所有输入的项目。

@vishal\u aim不确定如何将其向上划分是否有帮助?@vishal\u aim不确定如何向上划分是否有帮助?
public class Item {
    private String name;
    private int quanity;
    private float price;

    public Item(String name, float price, int quanity) {
        this.name = name;
        this.price = price;
        this.quanity = quanity;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getQuanity() {
        return quanity;
    }

    public void setQuanity(int quanity) {
        this.quanity = quanity;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }

    @Override
    public String toString() {
        return "Item [name=" + name + ", quanity=" + quanity + ", price="
                + price + "]";
    }




}