Tag: if语句

用Java检查文件扩展名

我必须将数据从Excel文件导入数据库并执行此操作,我想检查所选文件的扩展名。 这是我的代码: String filename = file.getName(); String extension = filename.substring(filename.lastIndexOf(“.”) + 1, filename.length()); String excel = “xls”; if (extension != excel) { JOptionPane.showMessageDialog(null, “Choose an excel file!”); } else { String filepath = file.getAbsolutePath(); JOptionPane.showMessageDialog(null, filepath); String upload = UploadPoData.initialize(null, filepath); if (upload == “OK”) { JOptionPane.showMessageDialog(null, “Upload Successful!”); } } 但我总是得到: 选择一个excel文件! 我找不到我的代码有什么问题,请有人帮忙。

一个if语句中的两个条件是第二个,如果第一个是假的吗?

好的,所以我测试了这段代码,发现没有任何exception被抛出。 public static void main(String[] args) { int[] list = {1,2}; if (list.length>2 && list[3] == 2){ System.out.println(list[1]); } } 声明在这里 if (list.length>2 && list[3] == 2) 意味着如果第一个条件是假的,我们甚至不必检查第二个条件? 或者它等于 if (list.length>2){ if (list[3] == 2){ … } } ? 而且,如果它是用C或python或其他语言编写的呢? 谢谢

Java(使用if else语句查找未来日期)

我有一个问题,我无法弄清楚,谢谢:编写一个程序,提示用户输入一周的当天的整数(星期日是0,星期一是1,…星期六是6) 。 同时提示用户输入今天之后的未来天数并显示一周中的未来日期。这是样本运行:输入今天的日期:1输入自今天起经过的一天的数量:3今天是星期一未来的一天是星期四我的尝试是: Scanner input = new Scanner(System.in); System.out.print(“Enter today’s day (0 – 6): “); int day = input.nextInt(); System.out.print(“Enter the number of days elapsed since today: “); int elapsed = input.nextInt(); if(day == 0) { System.out.println(“Sunday”); } if(day == 1) { System.out.println(“Monday”); } if(day == 2) { System.out.println(“Tuesday”); } if(day == 3) { System.out.println(“Wednesday”); […]

java程序中if语句的作用域错误

我在if语句中遇到问题,至少,我很确定这是我的错误所在,而且我不确定如何解决这个问题(我在编程时很新)。 基本上,似乎如果我在if语句中声明某些内容,则变量(在本例中为结构数组)不存在于if语句之外。 但是,我真的需要将数组的声明放在if / else中,因为数组的大小取决于N,那么我该如何解决这个错误呢? 该程序是Java的,我正在使用Eclipse。 非常感谢任何见解。 //declare an int (used in determining array length) int N = 4; //declare instance of MyClass MyClass myClass = new MyClass(); //declare and array, then initialize each struct in that array if(N <= 26){ MyStruct array[] = new MyStruct[260]; for(int i = 0; i < array.length; i++){ array[i] […]

Java – While循环不起作用后的IF语句

谢谢你们,并且出现了新的问题。 即使列表和用户输入正确,它仍会打印出”Your movie or/and theatre cannot be found.” 我发现了关于这个问题的事情。 如果列表中的任何一个(电影0-1项目和剧院0-1项目)中有1个项目,则不会打印出”Your movie or/and theatre cannot be found.” 但是当其中任何一个(电影1项目和剧院2或电影2和剧院1)中有多个项目时,它将打印出if(found == false)语句。 public void addScreening(){ System.out.println(“-ADD NEW SCREENING-“); String mTitle = Helper.readString(“Enter movie title > “); String tName = Helper.readString(“Enter theatre name > “); boolean found = true; while(found == true){ for (int i = 0; i < […]

任何人都可以告诉我为什么它给我变量未初始化?

每次我尝试编译它,它表明我可能没有初始化d1变量。 我认为问题可能在else if 。 告诉我如何在else if运行2个语句。 import java.util.Scanner; class IDC { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println(” “); System.out.println(“Input ID card no…”); String x = scan.next(); x = x.substring(0, x.length() – 1); //removing the last char of the string String CardNo = x; String y = x = x.substring(0, […]

声明一个无用的局部变量

所以这是一个奇怪的,我知道代码本身是相当无用的,但我想知道为什么我得到错误: 我写了一些代码,我写了这个: if(scan.hasNextInt()) int row = scan.nextInt(); 当时没有考虑变量范围,显然这是没用的,因为我无论如何也不能使用row 。 我没有得到的是为什么我得到了错误: > javac hw.java hw.java:25: ‘.class’ expected int row = scan.nextInt(); ^ hw.java:25: not a statement int row = scan.nextInt(); ^ hw.java:25: illegal start of expression int row = scan.nextInt(); ^ hw.java:25: ‘;’ expected int row = scan.nextInt(); ^ 现在,如果我只是修改它,如果检查: if(scan.hasNextInt()) { int row = scan.nextInt(); […]

检测31天的月份

是否有以下代码的类似forms: if(month == 4,6,9,11) { do something; } 或者必须是: if(month == 4 || month == 6 etc…) { do something; } 我正在尝试写一个if语句来检查这个月是否超过31天。 编辑 我想真正的问题是我和我所教的一些东西,但每次我尝试使用sun网站关于java时它只会让我感到困惑。 我的问题是,如果我从一个用户和一天获得一个月的时间,我将其放入MM / dd格式并对其进行评估,那么是否有更简单的方法来检查月份和日期是否有效以及在我检查之后有效我可以用我所拥有的格式打印MM / dd。 如果无效打印一行显示无效的月份或日期。

修改if-else到策略模式

我在java中有以下if-else分支。 if (str.equals(“a”)) { A;} else if (str.equals(“b”)) { B;} else if (str.equals(“c”)) { C;} else if (str.length == 5) { D;} else { E;} 如何将此代码修改为策略模式?

我应该使用保护条款,并尽量避免使用else条款?

我读过(例如来自Martin Fowler)我们应该在OOP中的(短)方法中使用保护子句而不是单一返回。 我也读过(从某个地方我不记得),在可能的情况下应该避免使用else子句。 但我的同事(我在一个只有3个人的小团队中工作)迫使我不要在方法中使用多个返回,并尽可能多地使用else子句,即使else块中只有一个注释行。 这使我很难遵循他们的编码风格,因为例如,我无法在一个屏幕中查看方法的所有代码。 当我编写代码时,我必须首先编写保护子句,然后尝试将其转换为多个返回的forms。 我错了,或者我应该怎么做?