创建类

创建类

创建项目

1.文件-> 新建-> 项目

1

2.命名->无需添加示例代码2

3.创建类

3

4.写代码

public class Main {
    // private
    // protect
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

获取用户输入Scanner

// Main.java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("====== 欢迎来到微头条 ======");
        System.out.print("请输入用户名:");
        if (scanner.hasNextLine()) {
    		String username = scanner.nextLine();
    		System.out.println("用户名:" + username);
		}
        System.out.println("欢迎你," + username + "!");
        scanner.close();
    }
}

循环菜单

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("====== 微头条主菜单 ======");
            System.out.println("1. 注册");
            System.out.println("2. 登录");
            System.out.println("3. 退出");
            System.out.print("请选择:");
            int choice = scanner.nextInt();
            scanner.nextLine(); // 吃掉换行
            switch (choice) {
                case 1:
                    System.out.println("➡️进入注册功能(待实现)");
                    break;
                case 2:
                    System.out.println("→ 进入登录功能(待实现)");
                    break;
                case 3:
                    System.out.println("感谢使用,再见!");
                    scanner.close();
                    return;
                default:
                    System.out.println("输入错误,请重新选择");
            }
        }
    }
}

数组

定义方法

type[] arrayName

例子:

int[] salary; 
double[] price; 
String[] name;

数组赋值

int[] arr2={2,4,6,8,10};

static关键字

特性 static 成员 非 static 成员
属于谁 类本身 对象实例
内存分配 类加载时分配1次 每个对象创建时分配
访问方式 类名.成员 或直接访问 对象名.成员
在 static 方法中 ✅ 可以直接访问 ❌ 需要先创建对象
共享性 所有对象共享一份 每个对象独立一份

数组菜单

import java.util.Scanner; // 导入Scanner类用于读取用户输入

public class ArrayMicroHeadline { // 定义公共类Main

    static String[] newsTitles = new String[100]; // 静态数组,最多存储100条新闻标题
    static int newsCount = 0; // 当前已存储的新闻数量,也是下一个插入位置
    static Scanner scanner = new Scanner(System.in); // 静态Scanner对象,用于控制台输入

    public static void main(String[] args) { // 程序主入口

        // 初始化几条新闻
        newsTitles[newsCount++] = "Java 17 正式发布!"; // 存入第一条新闻,然后newsCount变为1
        newsTitles[newsCount++] = "微头条项目今日启动"; // 存入第二条新闻,然后newsCount变为2

        while (true) { // 无限循环显示主菜单
            System.out.println("\n====== 微头条主菜单 ======"); // 输出主菜单标题
            System.out.println("1. 注册"); // 输出选项1
            System.out.println("2. 登录"); // 输出选项2
            System.out.println("3. 查看新闻列表"); // 输出选项3
            System.out.println("4. 发布新闻"); // 输出选项4
            System.out.println("5. 退出"); // 输出选项5
            System.out.print("请选择:"); // 提示用户输入选择
            int choice = scanner.nextInt(); // 读取用户输入的整数选项
            scanner.nextLine(); // 吸收换行符,避免影响后续nextLine()

            switch (choice) { // 根据用户选择执行不同操作
                case 1:
                    register(); // 调用注册方法
                    break; // 跳出switch
                case 2:
                    login(); // 调用登录方法
                    break;
                case 3:
                    showNewsList(); // 调用显示新闻列表方法
                    break;
                case 4:
                    publishNews(); // 调用发布新闻方法
                    break;
                case 5:
                    System.out.println("再见!"); // 输出再见信息
                    scanner.close(); // 关闭Scanner释放资源
                    return; // 结束main方法,退出程序
                default:
                    System.out.println("无效选择!"); // 输入其他数字时的提示
            }
        }
    }

    static void register() { // 注册方法(实际未保存用户数据)
        System.out.print("用户名:"); // 提示输入用户名
        String name = scanner.nextLine(); // 读取用户名(未使用)
        System.out.print("密码:"); // 提示输入密码
        String pwd = scanner.nextLine(); // 读取密码(未使用)
        System.out.println("注册成功!"); // 模拟注册成功
    }

    static void login() { // 登录方法(硬编码验证admin/123)
        System.out.print("用户名:"); // 提示输入用户名
        String name = scanner.nextLine(); // 读取用户名
        System.out.print("密码:"); // 提示输入密码
        String pwd = scanner.nextLine(); // 读取密码
        if ("admin".equals(name) && "123".equals(pwd)) { // 判断是否用户名admin且密码123
            System.out.println("登录成功!"); // 验证通过
        } else {
            System.out.println("登录失败!"); // 验证失败
        }
    }

    static void showNewsList() { // 显示所有新闻标题
        System.out.println("\n====== 新闻列表 ======"); // 输出列表标题
        if (newsCount == 0) { // 如果没有新闻
            System.out.println("暂无新闻"); // 输出提示
            return; // 提前返回
        }
        for (int i = 0; i < newsCount; i++) { // 遍历已存储的新闻
            System.out.println((i+1) + ". " + newsTitles[i]); // 输出序号和标题
        }
    }

    static void publishNews() { // 发布新新闻
        System.out.print("请输入新闻标题:"); // 提示输入标题
        String title = scanner.nextLine(); // 读取标题
        if (newsCount < newsTitles.length) { // 检查数组是否还有空位
            newsTitles[newsCount++] = title; // 存入标题并增加数量
            System.out.println("发布成功!"); // 发布成功提示
        } else {
            System.out.println("新闻库已满,无法发布!"); // 数组已满提示
        }
    }
}
posted @ 2026-06-24 10:53  睡醒再说  阅读(3)  评论(0)    收藏  举报