GVKun编程网logo

如何克服Integer.parseInt(args [0])的ArrayIndexOutOfBoundException?

24

在本文中,我们将给您介绍关于如何克服Integer.parseInt的详细内容,并且为您解答args[0]的ArrayIndexOutOfBoundException?的相关问题,此外,我们还将为您提

在本文中,我们将给您介绍关于如何克服Integer.parseInt的详细内容,并且为您解答args [0]的ArrayIndexOutOfBoundException?的相关问题,此外,我们还将为您提供关于android – TextView样式ArrayIndexOutOfBoundsException、ArrayIndexOutOfBoundsException 160、ArrayIndexOutOfBoundsException >> arr lenght 引起的异常、ArrayIndexOutOfBoundsException数组越界 --- 之二的知识。

本文目录一览:

如何克服Integer.parseInt(args [0])的ArrayIndexOutOfBoundException?

如何克服Integer.parseInt(args [0])的ArrayIndexOutOfBoundException?

我已经在其中一个视频教程中看到了下面的代码。它可以很好地执行,但是当我尝试在系统中执行时,它可以很好地编译,但是我遇到了运行时错误,

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

class Test13 {    public static void main(String[] args)     {           int i = Integer.parseInt(args[0]);        System.out.println(i);    }}

有人可以指导我这段代码有什么问题以及如何纠正吗?

提前致谢!

答案1

小编典典

__当您尝试访问数组中不存在的索引处的元素时,将发生 ArrayIndexOutOfBoundsException

例如:假设int a [] = {2,4,5,10,3}是一个数组。

数组的大小为5,索引从0开始。

这意味着您的数组范围从索引0到索引4,其中索引0的元素是第一个元素(即2),索引4的元素是最后一个元素(即3)

如果您尝试访问索引范围不在0到4之间的任何元素,它将显示 ArrayIndexOutOfBoundsException, 因为数组中不存在这样的索引。

现在,在您的情况下, args 是命令行参数,这意味着您必须在运行代码时传递参数。

如果从终端运行代码,则在 java yourclassname之后, 您必须传递参数。

例如:java yourclassname 10 20 30

这里10 20 30是您的命令行参数,这些参数存储在 args 数组中,并且 args [0] = 10 args [1] = 20 args
[2] = 30

如果在运行代码期间未传递任何参数,则 args 为空,因此将获得 ArrayIndexOutOfBoundsException

希望它可以帮助您理解命令行参数的概念。

android – TextView样式ArrayIndexOutOfBoundsException

android – TextView样式ArrayIndexOutOfBoundsException

我在PlayStore的管理控制台中经常出现崩溃.我不明白为什么它会崩溃.
我从来没有重现过这次崩溃,它似乎只是来自三星galaxy设备(虽然不太确定).来自sdk 4.1版& 4.2& 4.3

这是完整的StackTrace:

android.view.InflateException: Binary XML file line #31: Error inflating class <unkNown>
at android.view.LayoutInflater.createView(LayoutInflater.java:613)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at com.android.internal.widget.ActionBarContextView.initClose(ActionBarContextView.java:262)
at com.android.internal.widget.ActionBarContextView.onConfigurationChanged(ActionBarContextView.java:136)
at android.view.View.dispatchConfigurationChanged(View.java:7761)
at android.view.ViewGroup.dispatchConfigurationChanged(ViewGroup.java:1056)
at android.view.ViewGroup.dispatchConfigurationChanged(ViewGroup.java:1060)
at android.view.ViewGroup.dispatchConfigurationChanged(ViewGroup.java:1060)
at android.view.ViewGroup.dispatchConfigurationChanged(ViewGroup.java:1060)
at android.view.ViewGroup.dispatchConfigurationChanged(ViewGroup.java:1060)
at android.view.ViewRootImpl.updateConfiguration(ViewRootImpl.java:2800)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1509)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4464)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
at android.view.Choreographer.doCallbacks(Choreographer.java:555)
at android.view.Choreographer.doFrame(Choreographer.java:525)
at android.view.Choreographer$FramedisplayEventReceiver.run(Choreographer.java:711)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4895)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
... 31 more
Caused by: java.lang.Arrayindexoutofboundsexception: length=24; index=691
at android.content.res.StringBlock.get(StringBlock.java:64)
at android.content.res.XmlBlock$Parser.getPooledString(XmlBlock.java:458)
at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:720)
at android.content.res.TypedArray.getString(TypedArray.java:124)
at android.widget.TextView.<init>(TextView.java:916)
at android.widget.TextView.<init>(TextView.java:562)
... 34 more

我想也许这是由我给TextView的风格(特别是fontFamily)引起的.所以这里是我的价值观风格-v16> styles.xml(values-v16):

<style name="TextViewHour">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_marginLeft">5dip</item>
        <item name="android:ellipsize">end</item>
        <item name="android:maxLines">1</item>
        <item name="android:textSize">@dimen/text_hour_size</item>
        <item name="android:textColor">@color/item_hour</item>
        <item name="android:fontFamily">sans-serif-condensed</item>
        <item name="android:textStyle">bold</item>
    </style>

来自价值观> styles.xml

<style name="TextViewHour">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_marginLeft">5dip</item>
        <item name="android:ellipsize">end</item>
        <item name="android:maxLines">1</item>
        <item name="android:textSize">@dimen/text_hour_size</item>
        <item name="android:textColor">@color/item_hour</item>
        <item name="android:textStyle">bold</item>
    </style>

这里是一个使用TextView的例子:

<TextViewandroid:id="@+id/name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/item_date_separator"/>

我对我的应用程序在某些设备上崩溃的原因一无所知.
所以,如果有人有想法,我全都耳朵!

编辑:似乎它不仅在galaxy设备上,我也有这个Nexus 7的崩溃.

解决方法

字体sans-serif-condensed可能在某些设备上不可用,这就是应用程序崩溃的原因.如果要支持其他字体,可以将其放在assests文件夹中,然后通过扩展TextView创建CustomTextView

public class MyTextView extends TextView {

public MyTextView(Context context,AttributeSet attrs,int defStyle) {
    super(context,attrs,defStyle);
    init();
}

public MyTextView(Context context,AttributeSet attrs) {
    super(context,attrs);
    init();
}

public MyTextView(Context context) {
    super(context);
    init();
}

private void init() {
    Typeface tf = Typeface.createFromAsset(getContext().getAssets(),"your_font.ttf");
    setTypeface(tf);
}

}

并在你的xml中.

<com.mypackage.test.MyTextView
 android:id="@+id/txt"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:gravity="center"
 android:layout_weight="1"
 android:text="custom text view. "
 android:textSize="30dip"
 android:textColor="#ff0000"
>

ArrayIndexOutOfBoundsException 160

ArrayIndexOutOfBoundsException 160

解决方法,升级fastjson的版本

ArrayIndexOutOfBoundsException >> arr lenght 引起的异常

ArrayIndexOutOfBoundsException >> arr lenght 引起的异常

如何解决ArrayIndexOutOfBoundsException >> arr lenght 引起的异常?

对 Arrayindexoutofboundsexception 有点熟悉但无法解决。

突出显示错误所在的行。

如果为数组的长度引入 5,程序将指出为什么 d 可能等于 arr 的长度值(在本例中为 5)。

我知道这是一个愚蠢的错误,因此我很生气......

已突出显示错误的行。

任何帮助??

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

ArrayIndexOutOfBoundsException数组越界 --- 之二

ArrayIndexOutOfBoundsException数组越界 --- 之二

现象:

Caused by: java.lang.ArrayIndexOutOfBoundsException: 7786
    at org.springframework.asm.ClassReader.readClass(Unknown Source)
    at org.springframework.asm.ClassReader.accept(Unknown Source)
    at org.springframework.asm.ClassReader.accept(Unknown Source)
    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:54)
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)
    at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:101)
    at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:236)
    ... 45 more

问题及解决方案:

executor.execute(() -> threadTask(activityId, mobiles, content));

改为:

executor.execute(new Runnable() {
    @Override 
    public void run() {
        threadTask(activityId, mobiles, content);
    }
});

 

 

今天的关于如何克服Integer.parseIntargs [0]的ArrayIndexOutOfBoundException?的分享已经结束,谢谢您的关注,如果想了解更多关于android – TextView样式ArrayIndexOutOfBoundsException、ArrayIndexOutOfBoundsException 160、ArrayIndexOutOfBoundsException >> arr lenght 引起的异常、ArrayIndexOutOfBoundsException数组越界 --- 之二的相关知识,请在本站进行查询。

本文标签: