【解決方法】Javaでtodoリストを作成するには?


ユーザーとして、画面に自分の名前を印刷できるはずです

ユーザーとして、1 日に少なくとも 5 つのタスクをリストできるはずです。

ユーザーとして、すべてのタスクを昇順および降順で表示できるはずです。

ユーザーとして、繰り返されるタスクを見ることができるはずです。

私が試したこと:

そのため、メニューを少なくとも 1 回表示するために doWhile ループを使用しています。 次に、各メニュー項目に switch case を使用しています。 しかし、タスクを入力したり、タスクを削除したり、タスクを更新したりするために、各メニュー項目の正確なメソッドをどのように記述すればよいでしょうか。 望ましい結果を得るためにどのような概念を使用しますか?

これが私のコードです:

Java
package Todo_Manager;
import java.util.Scanner;

public class Todo_Manager {

	public static void main(String[] args) {

		System.out.println("Welcome to your Todo Manager!\n");
		System.out.println("Please Enter your Name: ");
		Scanner in = new Scanner(System.in);
		String name = in.next();
		System.out.println("Hello "+name);
		
		String choice = null;
		String[] task = new String[10];
		Scanner input = new Scanner(System.in);
		
		do {
			//Display the Menu
			System.out.println("Please choose an option\n");
			System.out.println("1. Enter a task ");
			System.out.println("2. Remove a task ");
			System.out.println("3. Update a task ");
			System.out.println("4. List all tasks ");
			System.out.println("5. Exit");
			choice = input.nextLine();
			
			switch(choice) {
			case "1":        
				System.out.println("Enter number of tasks: ");
				task = input.nextInt();
				System.out.println("Enter a task ");
				choice = input.nextLine();
				break;
			case "2":
				System.out.println("Remove a task ");
				choice = input.nextLine();
				break;
			case "3":
				System.out.println("Remove a task ");
				choice = input.nextLine();
				break;
			case "4":
				System.out.println("Remove a task ");
				choice = input.nextLine();
				break;
			case "5":
				System.out.println("Remove a task ");
				choice = input.nextLine();
				break;
			}
		} while ( Integer.parseInt(choice)>0);		
	}
}

解決策 1

まず、インデントとスペースを正しく使用してください。ダブルスペーシングは、「大きく」、「より良く」、または「より完全」に見えるわけではなく、読みにくくなるだけです…
そして、インデントが突然左に平らになると、再び読みにくくなります-そして、ほとんどのIDEは、あなたが進むにつれてインデントするという非常に良い仕事をするので、あなたも気にすることができなかったように見えます…

しかし、「私が試したこと」は、*あなた*が試したことを正確に示しています。これまでのところ何もなく、先生から与えられた基本的なフレームワーク コードさえ理解していないことを示しています…ランダムなコードを一緒に投げて、うまくいきます:それは起こりません。 代わりに、座って、設定された問題について考えてください。

私たちは立ち往生している人々を喜んで助けますが、それは私たちがあなたのためにすべてをするためにここにいるという意味ではありません! 私たちがすべての作業を行うことはできません。あなたはこれに対して報酬を受け取っているか、またはそれはあなたの成績の一部であり、私たちがあなたのためにすべてを行うことはまったく公平ではありません.

だから私たちはあなたが仕事をする必要があり、あなたが行き詰まったときにあなたを助けます. それは、あなたが提出できる段階的な解決策を提供するという意味ではありません!
現在の状況と、プロセスの次のステップを説明することから始めます。 次に、その次のステップを機能させるために何を試みたか、またその際に何が起こったかを教えてください。

開始するのに問題がある場合は、これが役立つ場合があります。 問題を解決するためのコードの書き方、初心者向けガイド[^]

解決策 2

引用:

Javaでtodoリストを作成するには?

まず、タスクとは何か、各タスクで必要な情報を定義する必要があります。 サブタスクを管理する必要がありますか?
タスクのリストを管理する方法が必要です: ディスクへのロード/保存、メモリ内での管理、データベース…

それらなしでゼロからコーディングを開始するのは悪い考えです。

見て ToDoList 8.0 – 効果的かつ柔軟にタスクを管理する方法[^] 他の人がどのようにやったかを見るために。

解決策 3

タスクを格納するためのコンテナが必要です。 大部分は不完全ですが、実際に動作するコード サンプルを示します。 TreeMap:

Java
public class Todo_Manager
{

  public static void main(String[] args)
  {

    System.out.println("Welcome to your Todo Manager!\n");
    System.out.println("Please Enter your Name: ");
    Scanner in = new Scanner(System.in);
    String name = in.next();
    System.out.println("Hello "+name);

    int choice;

    TreeMap <Integer, String> taskmap = new TreeMap<Integer, String>();

    do
    {
      //Display the Menu
      System.out.println("Please choose an option\n");
      System.out.println("1. Enter a task ");
      System.out.println("2. Remove a task ");
      System.out.println("3. Update a task ");
      System.out.println("4. List all tasks ");
      System.out.println("5. Exit");
      choice = in.nextInt();


      switch(choice)
      {
      case 1:
        System.out.println("Enter number of the task: ");
        Integer no_of_task = Integer.valueOf(in.nextInt());
        in.nextLine();
        System.out.println("Enter the task");
        String task = in.nextLine();
        taskmap.put( no_of_task, task);
        break;
      case 2:
        System.out.println("Remove a task ");
        // TODO: implement it
        break;
      case 3:
        System.out.println("Update a task ");
        // TODO: implement it
        break;
      case 4:
        System.out.println("List all tasks ");
        list_all(taskmap);
        break;
      default:
        // do nothing
      }
    } while ( choice != 5);
  }

  public static void list_all( TreeMap<Integer, String> tm)
  {
    for (Map.Entry<Integer, String> item : tm.entrySet())
    {
      System.out.print(item.getKey()); System.out.print(" "); System.out.println(item.getValue());
    }
  }
}

解決策 4

パッケージリスト;

java.util.Map をインポートします。
java.util.Scanner をインポートします。
java.util.TreeMap をインポートします。

public class Listas
{

public static void main(文字列[] 引数)
{

System.out.println(“Todo Manager へようこそ!\n”);
System.out.println(“お名前を入力してください: “);
Scanner in = new Scanner(System.in);
文字列名 = in.next();
System.out.println(“こんにちは”+name);

int 選択;

TreeMap taskmap = new TreeMap();

する
{
//メニューを表示
System.out.println(“オプションを選択してください\n”);
System.out.println(“1.タスクを入力”);
System.out.println(“2. タスクを削除する “);
System.out.println(“3. タスクを更新する “);
System.out.println(“4. すべてのタスクを一覧表示する”);
System.out.println(“5.終了”);
選択 = in.nextInt();

スイッチ(選択)
{
ケース 1:
System.out.println(“タスクの番号を入力してください: “);
整数 no_of_task = Integer.valueOf(in.nextInt());
in.nextLine();
System.out.println(“タスクを入力してください”);
文字列タスク = in.nextLine();
taskmap.put( no_of_task, task);
壊す;
ケース 2:
System.out.println(“タスク番号を削除”);
// TODO: 実装する
no_of_task = Integer.valueOf(in.nextInt());
//String task = in.nextLine();
taskmap.remove(no_of_task);
壊す;
ケース 3:
System.out.println(“タスクを更新する “);
System.out.println(“タスク番号を入力してください”);
// TODO: 実装する
no_of_task = Integer.valueOf(in.nextInt());
int aux=no_of_task;
//タスクを復活させる
taskmap.remove(no_of_task);
// 新しいタスクを作成します
in.nextLine();
System.out.println(“タスクを入力してください”);
タスク = in.nextLine();
taskmap.put(補助、タスク);
System.out.println(“タスクが更新されました”);

壊す;
ケース 4:
System.out.println(“すべてのタスクを一覧表示する”);
list_all(タスクマップ);
壊す;
デフォルト:
// 何もしない
}
ながら(選択!= 5);
}

public static void list_all( TreeMap tm)
{
for (Map.Entry item : tm.entrySet())
{
System.out.print(item.getKey()); System.out.print(” “); System.out.println(item.getValue());
}
}
}

コメント

タイトルとURLをコピーしました