Java 比较字符串数组中的字符串

Java 比较字符串数组中的字符串,java,arrays,string,Java,Arrays,String,此代码适用于数字,但不适用于字符。有人能告诉我为什么要给我建议吗 package optimum.output; import java.util.Scanner; public class OptimumOutput { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here //

此代码适用于数字,但不适用于字符。有人能告诉我为什么要给我建议吗

package optimum.output;
import java.util.Scanner;
public class OptimumOutput {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here
    // First of all we have to get what the runs planned for next month. To get that there should be separate method

    plannedruns();

}
//plannedruns method is ment to get next month planned runs
 static String[] plannedruns(){

    String[] runs=new String[50];      
    //Writes instructions in console
    System.out.println("Instructions"+"\n"+"Please enter Job ID's that planned for this month (Mazimum 50 jobs)"+"\n"+"At the end of the list, enter 0");
    // Scanner to take inputs
    Scanner scanner = new Scanner(System.in);
    int i=0;
    //takes job ID inputs
    for(int position=0;position<50;position++){
        System.out.print("Enter Job ID for Job " + ++i +" : ");
        runs[position]=null;
        runs[position] = scanner.nextLine();
        try{
                if (Integer.parseInt(runs[position])==0){
                break;
            }
            for(int j=0;position>j;j++){
                System.out.print(runs[j].equalsIgnoreCase(runs[position]));
                if(runs[j].equals(runs[position])){
                    System.out.println("One job repeated. Please enter the run correctly");
                    --i;
                    --position;
                }
            }

        }
        catch(Exception e){                
        }
    }
    //Print before printing job details
    System.out.println("These are the entered jobs for this month");
    i=0;
    for(int position=0;position<50;){
        try{
            if (Integer.parseInt(runs[position])==0){
                break;
            }
        }
        catch(Exception e){            
        }
        System.out.println("Job No."+ ++i +" is "
                + ""+runs[position++]);

    }
    System.out.println("end");
    return runs;
  }
}
package.optimize.output;
导入java.util.Scanner;
公共类优化输出{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
//此处的TODO代码应用程序逻辑
//首先,我们必须得到下个月的运行计划。要得到,应该有单独的方法
计划跑步();
}
//plannedruns方法用于获取下个月的计划运行
静态字符串[]plannedruns(){
字符串[]运行=新字符串[50];
//在控制台中编写指令
System.out.println(“说明”+“\n”+”请输入本月计划的作业ID(Mazimum 50个作业)”+“\n”+”在列表末尾,输入0”);
//扫描仪获取输入
扫描仪=新的扫描仪(System.in);
int i=0;
//接受作业ID输入
对于(int位置=0;位置j;j++){
System.out.print(运行[j].equalsIgnoreCase(运行[position]);
如果(运行[j]。等于(运行[position])){
System.out.println(“重复一个作业,请正确输入运行”);
--一,;
--位置;
}
}
}
捕获(例外e){
}
}
//打印作业详细信息前打印
System.out.println(“这些是本月输入的作业”);
i=0;

对于(int position=0;position我不知道为什么之前它不起作用。但是很少有不相关的变化,它完全起作用了

static String[] plannedruns(){
         //job ID is taken as String
        String[] runs=new String[50]; 
        //Writes instructions in console
        System.out.println("Instructions"+"\n"+"Please enter Job ID's that planned for this month (Mazimum 50 jobs)"+"\n"+"At the end of the list, enter 0");
        // Scanner to take inputs
        Scanner scanner = new Scanner(System.in);
        int i=0;
        //takes job ID inputs
        for(int position=0;position<50;position++){
            System.out.print("Enter Job ID for Job " + ++i +" : ");
            runs[position]=null;
            runs[position] = scanner.nextLine();
            try{
                    if (runs[position].equalsIgnoreCase("end")){
                        runs[position]=null;
                    break;
                }
                for(int j=0;position>j;j++){
                    //1
                    System.out.print(runs[j].equals(runs[position]));
                    if(runs[j].equals(runs[position])){
                        System.out.println("One job repeated. Please enter the run correctly");
                        --i;
                        --position;
                    }
                }

            }
            catch(Exception e){                
            }
        }
        //Print before printing job details
        System.out.println("These are the entered jobs for this month");
        i=0;
        for(int position=0;position<50;){
            try{
                if (runs[position]==null){
                    break;
                }
            }
            catch(Exception e){            
            }
            System.out.println("Job No."+ ++i +" is "
                    + ""+runs[position++]);

        }
        System.out.println("end");
        return runs;
    }
静态字符串[]plannedruns(){
//作业ID作为字符串
字符串[]运行=新字符串[50];
//在控制台中编写指令
System.out.println(“说明”+“\n”+”请输入本月计划的作业ID(Mazimum 50个作业)”+“\n”+”在列表末尾,输入0”);
//扫描仪获取输入
扫描仪=新的扫描仪(System.in);
int i=0;
//接受作业ID输入
对于(int位置=0;位置j;j++){
//1
System.out.print(运行[j].equals(运行[position]);
如果(运行[j]。等于(运行[position])){
System.out.println(“重复一个作业,请正确输入运行”);
--一,;
--位置;
}
}
}
捕获(例外e){
}
}
//打印作业详细信息前打印
System.out.println(“这些是本月输入的作业”);
i=0;

对于(int position=0;positionDefine“不起作用”请回答。这个问题目前太模糊,无法回答。如果您可以提供一个-最好是硬编码数据,以避免依赖用户输入-这将更容易帮助您尝试
equalsIgnoreCase
。或者更好的是,什么是“不起作用”呢在你的例子中是什么意思?你的代码打算做什么这不是一个问题,你也没有给出任何数据失败的迹象,或者你指的是什么类型的失败。事实上,你捕获异常而不做任何处理,这对于了解发生了什么是一个坏的开始。让我们假设作业ID类似于S20170312B13、F20170311K09,或简称a、b、c、d、e