簡體   English   中英

更新 Arraylist 字符串的特定部分?

[英]Updating specific part of Arraylist string?

我正在制作一個程序,其中的人輸入多個值,Arraylist 將其存儲為帶有選項 1 的單個字符串。選項二允許您將該字符串的特定部分從“完整”更改為“不完整”,反之亦然,但僅如果 String 的狀態部分是兩者之一。 我收到警告“'String.replace()' 的結果被忽略”並且字符串的一部分沒有更新。 任何幫助,將不勝感激!

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

public class Main {
    public static void main(String[] args) {
        Array listObj = new Array();
        Scanner userinput = new Scanner(System.in);
        int arraysize = (listObj.list.size());

        int power = 1;
        while (power < 2) {
            System.out.println("To-Do List / What would you like to do?");
            System.out.println("1 = Add Task / 2 = Mark Task as Done / 3 = Remove Task / 4 = Edit Task / 5 = Display Tasks / 6 = Exit");
            int selection = userinput.nextInt();


            if (selection == 1) {
                for (int i = 0; i <= arraysize; i++) {
                    String title;
                    String date;
                    String status;
                    String description;
                    String id;

                    System.out.print("Enter Title: ");
                    title = userinput.next();
                    System.out.print("Enter Due Date: ");
                    date = userinput.next();
                    System.out.print("Enter Status (Complete or Incomplete): ");
                    status = userinput.next();
                    System.out.print("Enter Description: ");
                    description = userinput.next();
                    listObj.list.add(title + " " + date + " " + status + " " + description);
                    System.out.println();
                    listObj.list.forEach(System.out::println);
                    System.out.println();
                }
            }
            if (selection == 2) {
                int idinput;
                System.out.println("Enter Project ID to Toggle Complete/Incomplete: ");
                idinput = (userinput.nextInt()-1);
                System.out.println();
                System.out.println(listObj.list.get(idinput));
                System.out.println();
                System.out.println("What is the status of this assignment?: ");
                String toggleselect = userinput.next();
                if (toggleselect.equals("Incomplete")) {
                    listObj.list.get(idinput).replace("Incomplete", "Complete");
                } else if (toggleselect.equals("Complete")) {
                    listObj.list.get(idinput).replace("Complete", "Incomplete");
                } else {
                    System.out.println("Status is not Complete/Incomplete");
                }
                System.out.println();
                listObj.list.forEach(System.out::println);
                System.out.println();
            }
        }
    }
}


import java.util.ArrayList;
public class Array {
    ArrayList<String> list = new ArrayList<String>();

    public ArrayList<String> getList() {
        return list;
    }
}`your text`

public String replace(char searchChar, char newChar)

要求一個 String 到 output 到,正如您可以通過返回類型看到的那樣。 在這種情況下使用

public E set(int index, E element)

來自 ArrayList 圖書館,

E返回類型是你的ArrayList,

E element是你的電話

listObj.list.get(idinput).replace("Complete", "Incomplete");

所以,

listObj.list.get(idinput).replace("Complete", "Incomplete");

成為

listObj.list.set(idinput, listObj.list.get(idinput).replace("Complete", "Incomplete"));

另外,為什么要創建一個名為Array的 class,它只封裝了一個ArrayList呢?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM