RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

全部问题

Martin Hope
amirboomerr
Asked: 2024-11-05 01:28:55 +0000 UTC

如何实现类对象的动态创建?

  • 6

有一个任务从文件中逐行读取姓名和年龄,实现一个静态方法来创建该类的对象Human并将其写入List<Human>.
我已经实现了一个单独的年龄和名字的“集合”,但我不知道如何动态地实现新对象的初始化。我对newInstanse()我找到的文档中的方法一无所知。

List<Human> people = new ArrayList<>();
List<Integer> numbers = new ArrayList<>();
List<String> names = new ArrayList<>();

try (Scanner sc = new Scanner(file)) {
    while (sc.hasNextLine()) {
        String[] nums = sc.nextLine().replaceAll("[^\\d-]+", " ").split(" ");
        for (String n : nums) {
            if (!n.isEmpty()) {
                numbers.add(Integer.valueOf(n));
            }
        }
    }
    while (sc.hasNextLine()) {
        String[] name = sc.nextLine().replaceAll("[^A-Za-zА-Яа-я]", "").split(" ");
        for (String nm : name) {
            if (!nm.isEmpty()) {
                names.add(nm);
            }
        }
    }
    if (!isPos(numbers)) {
        try {
            throw new IOException();
        }
        catch (IOException e){
            System.out.println("Некорректный входной файл");
        }
    }
    else {
        for (int i = 0; i < names.size(); i++) {
            people.add(new Human(names.get(i), numbers.get(i)));
        }
    }
}
catch (FileNotFoundException e) {
    System.out.println("Файл не найден.");
}
System.out.println(people);

请不要留下注释try/catch,它们是根据任务条件需要的!

输出列表时,people会得到空括号 []。怎么了?

文件中的列表示例

Амир 18

Тагир 18

Хамид 18

Усман 26

Нурадил 17
java
  • 1 个回答
  • 61 Views
Martin Hope
redhead
Asked: 2024-11-05 01:25:28 +0000 UTC

如何使用排序从 Counter() 类中获取最大和最小对?

  • 6

有一个包含以下内容的计数器:

Counter({'Все везде и сразу': 4, 'На Западном фронте без перемен': 2, 'Топ Ган: Мэверик': 2, 'Аватар: Путь воды': 1})

你需要得到这个:

Все везде и сразу, 4
Аватар: Путь воды, 1

我通过通向工作表的第一个和最后一个索引来完成此操作,但我想知道如何使用排序()来完成此操作。

谢谢你!

python
  • 3 个回答
  • 32 Views
Martin Hope
VioLATor
Asked: 2024-11-04 20:49:41 +0000 UTC

C# - Telegram 机器人在用户阻止机器人后显示错误

  • 5

我创建了一个简单的机器人,当发送“/start”命令时它会发送一条消息,但遇到了一个问题。

using System;
using System.IO;
using System.Threading.Tasks;
using Telegram.Bot;
using Telegram.Bot.Types;

namespace MyTgBot
{
    class Program
    {
        static TelegramBotClient client;
        
        static void Main(string[] args)
        {
            string token = File.ReadAllText(Environment.GetFolderPath(
                Environment.SpecialFolder.LocalApplicationData) + @"\MyTgBot\Token.txt");
                
            client = new TelegramBotClient(token);
            client.StartReceiving(Update, Error);
            Console.WriteLine("[SUCCESS]: Бот запущен!");
            
            while(true)
                Console.ReadLine();
        }
        
        async static Task Update(ITelegramBotClient botClient, Update update, CancellationToken token)
        {
            var msg = update.Message;
            
            if(msg.Text == "/start")
                botClient.SendTextMessageAsync(msg.Chat.Id, $"{msg.Chat.Username}, Добро пожаловать в мой бот!");
        }
        
        async static Task Error(ITelegramBotClient botClient, Exception e, CancellationToken token)
        {
            Console.WriteLine($"[ERROR]: {e.Message} >> {e.ToString()}");
        }
    }
}

最初,当任何用户向机器人写入“/start”时,他都会回复一条消息。

如果绝对有任何一个用户删除并阻止了机器人,即删除了与机器人的聊天并将其置于紧急状态,则机器人将在控制台中显示以下错误:

System.NullReferenceException:“对象引用不指向对象的实例。

该代码有一个Error()方法来处理错误,当上述操作发生时,完整的消息将显示在控制台中:

[错误]:对象引用不指向对象的实例。 >>(..等等等等...)

之后,当您写入时,机器人会愚蠢地停止执行Update() 。我从任何用户那里给他写“/start”——他保持沉默。即使重新启动程序也无济于事 - 之后控制台中会显示相同的错误,并且机器人也不会响应命令,即一般不执行Update。如果将其从紧急情况中移除并重新启动,也会发生同样的情况。

该问题只能通过删除机器人并使用新令牌创建新机器人来解决。重新创建后,机器人可以工作,但如果再次有人删除它,机器人就会崩溃。

谁知道如何解决这个问题?如果有人知道请帮忙。

c#
  • 1 个回答
  • 57 Views
Martin Hope
Graus
Asked: 2024-11-04 20:48:55 +0000 UTC

不调用另一个类的方法,程序无错误退出 C#

  • 4

我正在尝试编写一个程序来从控制台处理数据库,在操作选择阶段,我尝试调用另一个类的方法,但是当调用时,该程序甚至不进入该类,而只是在没有任何内容的情况下完成错误

namespace TetsBD
{
    class Program
    {
        static void Main(string[] args)
        {

            int modeSelection;

            Console.WriteLine("Выберите режим раборы программы:");
            Console.WriteLine("1.Создание таблицы");
            modeSelection = Console.Read();

            if (modeSelection == 1)
            {
                CreateColections create = new CreateColections();
                create.createColections();

                Console.WriteLine(create.createColections());
            }
        }
    }

    public class CreateColections
    {
        public string createColections()
        {
            string nameColections;
            nameColections = Console.ReadLine();
            Console.WriteLine(nameColections);
            return nameColections;
        }
    }

}
c#
  • 1 个回答
  • 69 Views
Martin Hope
Tosa
Asked: 2024-11-04 19:27:34 +0000 UTC

将按下的键输出到控制台。 GLFW,C++

  • 6

是否可以以某种方式在控制台中显示按下的键(以字符串格式,而不是整数)?我发现最好的方法是使用 switch 来查找所需的键。如果您知道更简单的方法,请写下来。

这是我得到的:

#pragma once

#include <iostream>
#include <GLFW/glfw3.h>

std::string getKeyName(int key)
{
switch (key)
{
case GLFW_KEY_SPACE:
    return "Space";

case GLFW_KEY_APOSTROPHE:
    return "'";
case GLFW_KEY_COMMA:
    return ",";
case GLFW_KEY_MINUS:
    return "-";
case GLFW_KEY_PERIOD:
    return ".";
case GLFW_KEY_SLASH:
    return "/";

case GLFW_KEY_0:
    return "0";
case GLFW_KEY_1:
    return "1";
case GLFW_KEY_2:
    return "2";
case GLFW_KEY_3:
    return "3";
case GLFW_KEY_4:
    return "4";
case GLFW_KEY_5:
    return "5";
case GLFW_KEY_6:
    return "6";
case GLFW_KEY_7:
    return "7";
case GLFW_KEY_8:
    return "8";
case GLFW_KEY_9:
    return "9";

case GLFW_KEY_SEMICOLON:
    return ";";
case GLFW_KEY_EQUAL:
    return "=";

case GLFW_KEY_A:
    return "A";
case GLFW_KEY_B:
    return "B";
case GLFW_KEY_C:
    return "C";
case GLFW_KEY_D:
    return "D";
case GLFW_KEY_E:
    return "E";
case GLFW_KEY_F:
    return "F";
case GLFW_KEY_G:
    return "G";
case GLFW_KEY_H:
    return "H";
case GLFW_KEY_I:
    return "I";
case GLFW_KEY_J:
    return "J";
case GLFW_KEY_K:
    return "K";
case GLFW_KEY_L:
    return "L";
case GLFW_KEY_M:
    return "M";
case GLFW_KEY_N:
    return "N";
case GLFW_KEY_O:
    return "O";
case GLFW_KEY_P:
    return "P";
case GLFW_KEY_Q:
    return "Q";
case GLFW_KEY_R:
    return "R";
case GLFW_KEY_S:
    return "S";
case GLFW_KEY_T:
    return "T";
case GLFW_KEY_U:
    return "U";
case GLFW_KEY_V:
    return "V";
case GLFW_KEY_W:
    return "W";
case GLFW_KEY_X:
    return "X";
case GLFW_KEY_Y:
    return "Y";
case GLFW_KEY_Z:
    return "Z";

case GLFW_KEY_LEFT_BRACKET:
    return "[";
case GLFW_KEY_BACKSLASH:
    return "\\";
case GLFW_KEY_RIGHT_BRACKET:
    return "]";
case GLFW_KEY_GRAVE_ACCENT:
    return "`";
case GLFW_KEY_WORLD_1:
    return "non-US #1";
case GLFW_KEY_WORLD_2:
    return "non-US #2";
case GLFW_KEY_ESCAPE:
    return "Escape";
case GLFW_KEY_ENTER:
    return "Enter";
case GLFW_KEY_TAB:
    return "Tab";
case GLFW_KEY_BACKSPACE:
    return "Backspace";
case GLFW_KEY_INSERT:
    return "Insert";
case GLFW_KEY_DELETE:
    return "Delete";
case GLFW_KEY_RIGHT:
    return "Right";
case GLFW_KEY_LEFT:
    return "Left";
case GLFW_KEY_DOWN:
    return "Down";
case GLFW_KEY_UP:
    return "Up";
case GLFW_KEY_PAGE_UP:
    return "PageUp";
case GLFW_KEY_PAGE_DOWN:
    return "PageDown";
case GLFW_KEY_HOME:
    return "Home";
case GLFW_KEY_END:
    return "End";
case GLFW_KEY_CAPS_LOCK:
    return "CapsLock";
case GLFW_KEY_SCROLL_LOCK:
    return "ScrollLock";
case GLFW_KEY_NUM_LOCK:
    return "NumLock";
case GLFW_KEY_PRINT_SCREEN:
    return "PrintScreen";
case GLFW_KEY_PAUSE:
    return "Pause";

case GLFW_KEY_F1:
    return "F1";
case GLFW_KEY_F2:
    return "F2";
case GLFW_KEY_F3:
    return "F3";
case GLFW_KEY_F4:
    return "F4";
case GLFW_KEY_F5:
    return "F5";
case GLFW_KEY_F6:
    return "F6";
case GLFW_KEY_F7:
    return "F7";
case GLFW_KEY_F8:
    return "F8";
case GLFW_KEY_F9:
    return "F9";
case GLFW_KEY_F10:
    return "F10";
case GLFW_KEY_F11:
    return "F11";
case GLFW_KEY_F12:
    return "F12";
case GLFW_KEY_F13:
    return "F13";
case GLFW_KEY_F14:
    return "F14";
case GLFW_KEY_F15:
    return "F15";
case GLFW_KEY_F16:
    return "F16";
case GLFW_KEY_F17:
    return "F17";
case GLFW_KEY_F18:
    return "F18";
case GLFW_KEY_F19:
    return "F19";
case GLFW_KEY_F20:
    return "F20";
case GLFW_KEY_F21:
    return "F21";
case GLFW_KEY_F22:
    return "F22";
case GLFW_KEY_F23:
    return "F23";
case GLFW_KEY_F24:
    return "F24";
case GLFW_KEY_F25:
    return "F25";

case GLFW_KEY_KP_0:
    return "KeyPad 0";
case GLFW_KEY_KP_1:
    return "KeyPad 1";
case GLFW_KEY_KP_2:
    return "KeyPad 2";
case GLFW_KEY_KP_3:
    return "KeyPad 3";
case GLFW_KEY_KP_4:
    return "KeyPad 4";
case GLFW_KEY_KP_5:
    return "KeyPad 5";
case GLFW_KEY_KP_6:
    return "KeyPad 6";
case GLFW_KEY_KP_7:
    return "KeyPad 7";
case GLFW_KEY_KP_8:
    return "KeyPad 8";
case GLFW_KEY_KP_9:
    return "KeyPad 9";

case GLFW_KEY_KP_DECIMAL:
    return "KeyPad Decimal";
case GLFW_KEY_KP_DIVIDE:
    return "KeyPad Divide";
case GLFW_KEY_KP_MULTIPLY:
    return "KeyPad Multiply";
case GLFW_KEY_KP_SUBTRACT:
    return "KeyPad Subtract";
case GLFW_KEY_KP_ADD:
    return "KeyPad Add";
case GLFW_KEY_KP_ENTER:
    return "KeyPad Enter";
case GLFW_KEY_KP_EQUAL:
    return "KeyPad Equal";

case GLFW_KEY_LEFT_SHIFT:
    return "Left Shift";
case GLFW_KEY_LEFT_CONTROL:
    return "Left Control";
case GLFW_KEY_LEFT_ALT:
    return "Left Alt";
case GLFW_KEY_LEFT_SUPER:
    return "Left Super";

case GLFW_KEY_RIGHT_SHIFT:
    return "Right Shift";
case GLFW_KEY_RIGHT_CONTROL:
    return "Right Control";
case GLFW_KEY_RIGHT_ALT:
    return "Right Alt";
case GLFW_KEY_RIGHT_SUPER:
    return "Right Super";

case GLFW_KEY_MENU:
    return "Menu";
default:
    return "Unknown key!";
}
}

提前致谢 :)

c++
  • 1 个回答
  • 38 Views
上一页
下一页

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5