算法错题1.25

文章讲述了如何修正Java程序中的一个错误,即误将`main`方法名写错引发的编译错误,并介绍了在Java中处理特殊日期判断的方法。同时,作者强调了在Java中遇到类似SegmentationFault错误的原因分析和调试技巧,包括检查代码逻辑、查看异常堆栈和正确使用内存管理等。
摘要由CSDN通过智能技术生成
package javaZY.LQB.day_24_1_25;//单词错误:Thousand,unit
//题目:1. 特殊日期 1900.1.1 判断(1+9+9+0)==(1+1)
import java.util.Scanner;
import java.time.LocalDate;
//    如果方法的名称与它的类的名称相同,那么这会导致编译错误。
//    为了解决这个问题,你可以将方法的名称更改为与类名不同的任何其他名称。
//    例如,如果你的类名是“Main”,那么你可以将方法的名称更改为“mainMethod”或其他任何你喜欢的名称。
class Main {//
    //m ian 只能引发段错误
    public static void main(String[] args){//main写错了,引发 段错误
        Scanner scanner=new Scanner(System.in);//对象首字母小写
        LocalDate startDate=LocalDate.of(1900,1,1);
        LocalDate endDate=LocalDate.of(9999,12,31);
        LocalDate currentDate=startDate;
        int count=0;//初始值为0
        while(!currentDate.isAfter(endDate)){//不用分号,多个括号;isAfter方法
            int yearUnits=currentDate.getYear()%10;//要使用localDate的对象来引用
            int yearTens=currentDate.getYear()%100/10;//十位的数方法1:先去掉个位数,得到十位数方法2:先余百位以上的数字,在去掉个位数
            int yearHundreds=currentDate.getYear()%1000/100; //百位数 方法1:先除100再余十 方法2:先余1千再除一百
            int yearThousand=currentDate.getYear()/1000;
            int monthUnits=currentDate.getMonthValue()%10;//getMonthValue()方法
            int monthTens=currentDate.getMonthValue()/10;
            int dayUnits=currentDate.getDayOfMonth()%10;//getDayOfMonth;方法
            int dayTens=currentDate.getDayOfMonth()/10;
            if((yearUnits+yearTens+yearHundreds+yearThousand)==(monthUnits+monthTens+dayUnits+dayTens))
            {count++;}
            currentDate=currentDate.plusDays(1);//没有写这段话
        }
        System.out.println(count);
        scanner.close();//结束 scanner.close();
    }
}

//  在Java中,"段错误"(Segmentation Fault)通常是C/C++等语言中的错误,而不是Java中的错误。在Java中,你通常会遇到运行时异常或错误(Runtime Exceptions/Errors),而不是类似于"段错误"这样的底层内存错误。
// 如果你在Java程序中遇到类似于"段错误"的问题,可能是由于某些原因导致Java虚拟机崩溃。这可能是由于特定的本地库、JNI(Java Native Interface)调用或者其他底层问题引起的。

// 为了更好地诊断问题,你可以尝试以下步骤:
// 检查代码逻辑: 确保你的Java代码没有逻辑错误,特别是在涉及底层资源的地方,如文件操作、网络调用等。
// 查看异常信息: 在遇到异常时,查看异常堆栈跟踪(Exception Stack Trace),以了解问题的具体位置。
// 内存管理: 尽量避免使用本地方法接口(JNI),确保Java程序不会直接导致内存溢出等问题。
// 更新Java版本: 确保你使用的是最新版本的Java运行时环境,因为某些问题可能已经在较新的版本中得到解决。
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值