我在一段java程序的运行过程中出现java.lang.NullPointerException错误,求大神帮忙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在一段java程序的运行过程中出现java.lang.NullPointerException错误,求大神帮忙相关的知识,希望对你有一定的参考价值。

Exception in thread "main" java.lang.NullPointerException
at MyMenuFrame.<init>(TestMenu.java:90)
at TestMenu.main(TestMenu.java:19)
Java Result: 1

程序如下:
public class TestMenu
public static void main(String args[])
MyMenuFrame mf = new MyMenuFrame();//这是第19行内容


由于写不下了,所以只附上第90行内容及相关变量的定义
String ta_Font_Name;
ta_Font_Name = (ta.getFont()).getName();//90行

MyMenuFrame实例化没有错误,错在第90行
ta是不是另一类的实例
ta.getFont()返回的是不是一个实例,如果是那你可以把这一层括号去掉
ta.getFont()返回的实例中,是不是存在一个getName()方法,这个方法有不有返回值,返回的是不是String类型

我回答了你的问题,如果你仍解决不了
那你现在,你可以在追问中,把问题写完整了,请速度追问

TextArea ta;这是ta的定义

追答

好的,那ta.getFont()返回的是不是空,输出一下

追问

确实是空的,这是为什么啊

追答

那你已经找到错误了,就是这个:java.lang.NullPointerException错误

既然返回为空,getName()就无意义了,当然会报错了

追问

文本域中没有默认的字体吗?getName()不能获得它的名字吗?

参考技术A 空指针异常,说明没有取到变量的值,检查一下变量名是否一致追问

如果变量名不一致的话,那么编辑器应该有醒目的提示啊,我用的是NetBeans

追答

-_-,它怎么知道你取的哪个变量,又不是语法错误

参考技术B NullPointerException是空指针异常,说明第90行,没有获取到值。没有值传给setName。

Bash - 在一段时间后终止命令[重复]

【中文标题】Bash - 在一段时间后终止命令[重复]【英文标题】:Bash - kill a command after a certain time [duplicate] 【发布时间】:2021-11-19 13:23:27 【问题描述】:

在我的 bash 脚本中,我运行了一个激活脚本的命令。我在 for 循环中多次重复此命令,因此希望等到脚本完成后再运行它。我的bash脚本如下

for k in $(seq 1 5)
do
   sed_param='s/mu = .*/mu = '$mu';/'
   sed -i "$sed_param" brusselator.c
   make brusselator.tst &
done

据我所知,最后的 & 让脚本知道要等到命令完成,但这不起作用。还有其他方法吗?

此外,有时命令可能需要很长时间,在这种情况下,我最多希望等待 5 秒。但如果命令提前完成,我不想等待 5 秒。有什么方法可以实现吗?

【问题讨论】:

'据我所知,最后的 & 让脚本知道等到命令完成' 不;它恰恰相反。等待命令完成是默认设置,所以不要使用&amp; 要在一段时间后杀死某些东西,您可以查看timeout 命令。 至于超时:the timeout command怎么样? 这个循环似乎没有意义,$mu 是否在某处被修改?实际上,这是运行完全相同的命令 5 次,而 sed 实际上不会做任何事情。 @BenjaminW。我有更多循环,所以 $mu 在另一个循环中被修改,但对于这个例子,我只复制了内部循环;) 【参考方案1】:

timeout 命令。你会像这样使用它

timeout -k 5 make brusselator.tst

也许你还想看看它是成功退出、失败还是因为超时而被杀死。

timeout -k 5 make brusselator.tst && echo OK || echo Failed, status $?

如果命令超时,并且 --preserve-status 未设置,则命令以状态 124 退出。不同的状态意味着 make 在超时之前因不同原因失败。

【讨论】:

以上是关于我在一段java程序的运行过程中出现java.lang.NullPointerException错误,求大神帮忙的主要内容,如果未能解决你的问题,请参考以下文章

子进程似乎在一段时间循环中陷入睡眠

应用程序中运行的计时器在一段时间后开始延迟触发,原因不明

我在我的 Node.js 应用程序中使用 MongoSkin,在一段时间不活动后,它失去了与数据库的连接

Twincat ADS 事件驱动的读取在一段时间后停止工作(Java)

java——异常

Java学习--异常处理及其应用类