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运行时环境,因为某些问题可能已经在较新的版本中得到解决。
算法错题1.25
最新推荐文章于 2024-07-11 21:13:07 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)