Java 打印正确的输出

Java 打印正确的输出,java,string,output,Java,String,Output,我写了这个程序,重点是要打印出正确的中间词…什么代码使它打印出正确的中间词 import java.util.Scanner; //The Scanner is in the java.util package. public class MiddleString { public static void main(String [] args){ Scanner input = new Scanner(System.in); //Create a Scanner object. Strin

我写了这个程序,重点是要打印出正确的中间词…什么代码使它打印出正确的中间词

import java.util.Scanner; //The Scanner is in the java.util package.

public class MiddleString {
public static void main(String [] args){
Scanner input = new Scanner(System.in); //Create a Scanner object.

String str1, str2, str3; 

System.out.println("Enter the first word: "); //Prompt user to enter the first word
str1=input.next(); //Sets "str1" = to first word.
System.out.println("Enter a second word: "); // Prompt user to enter the second word
str2=input.next(); //Sets "str2" = to second word.
System.out.println("Enter a third word: "); // Prompt user to enter the third word        
str3=input.next(); //Sets "str3" = to third word.


if((str1.compareTo(str3) < 0) && (str1.compareTo(str2) <0) && (str2.compareTo(str3) <0) )
System.out.println(str2);

else if (( str3.compareTo(str1) <0) && (str1.compareTo(str2) <0) && (str3.compareTo(str2) <0) )
System.out.println(str1);

else if ( (str1.compareTo(str2) <0) && (str3.compareTo(str2) <0) && (str1.compareTo(str3) <0) )
System.out.println(str3);


System.out.println("The middle word is "  ); // Outputs the middle word in alphabetical order.

}
}
import java.util.Scanner//扫描仪位于java.util包中。
公营中产阶级{
公共静态void main(字符串[]args){
Scanner input=new Scanner(System.in);//创建一个Scanner对象。
字符串str1、str2、str3;
System.out.println(“输入第一个单词:”;//提示用户输入第一个单词
str1=input.next();//将“str1”=设置为第一个单词。
System.out.println(“输入第二个单词:”;//提示用户输入第二个单词
str2=input.next();//将“str2”=设置为第二个单词。
System.out.println(“输入第三个单词:”;//提示用户输入第三个单词
str3=input.next();//将“str3”=设置为第三个单词。

如果((str1.compareTo(str3)<0)和((str1.compareTo(str2)),您可以创建一个数组
字符串[]
,对其排序,并打印中间值:

 String[] strings = { str1, str2, str3 };
 Arrays.sort(strings);

 System.out.println(strings[1]);

您可以使用另一个名为outputString的字符串,然后从if语句中分配值,该值可以是str 1、2或3,因此请遵循下面的代码

String outputString ="";
if((str1.compareTo(str3) < 0) && (str1.compareTo(str2) <0) && (str2.compareTo(str3) <0) ){
System.out.println(str2);
outputString=str2 ; 
}

else if (( str3.compareTo(str1) <0) && (str1.compareTo(str2) <0) && (str3.compareTo(str2) <0) ){
System.out.println(str1);
outputString=str1 ; 
}
else if ( (str1.compareTo(str2) <0) && (str3.compareTo(str2) <0) && (str1.compareTo(str3) <0) ){
System.out.println(str3);
outputString=str3 ; 
}


System.out.println("The middle word is " +outputString ); 
String outputString=”“;

如果((str1.compareTo(str3)<0)和((str1.compareTo(str2)那么问题出在哪里呢?这段代码有什么问题?中间的单词没有打印出来。你可以发布输入和输出示例吗?还有一个猜测:输入中有大写字母吗?我们还没有在课堂上学习数组,这就是为什么我不能使用arrayserm…@Christian给了你代码,这是一个很好的例子。数组是一个非常基本的编程的一个组成部分,所以学习它们是明智的。