我正在编写一个必须通过命令行运行的程序。它将初始输入作为参数(java filename arg arg arg
),但随后需要输入更多信息。我尝试使用基本的扫描仪和.nextLine()
,但扫描仪实际上并没有拾取字符串,点击输入会将我移到下一行。
我可以使用扫描仪吗?还是我必须使用不同的东西?
编辑:这是我正在使用的代码部分(请注意我也导入了正确的库):
Scanner in = new Scanner(System.in);
boolean cont = true;
while(cont)
{
int indx;
System.out.print("Enter input: ");
String searched = in.nextLine();
if(searched.equals("esc"))
{
cont = false;
continue;
}
else
indx = binSearch(sorted,searched);
if(indx != -1)
System.out.println("'" + searched + "'" +
" was found at index: " +
indx);
else
System.out.println("'" + searched + "'" +
"was not found");
}
in.close();
}
修改2 :将2个字符串的==
比较更改为.equals
编辑3 :添加了我正在使用的binSearch方法:
public static int binSearch(String[] A, String word)
{
int i = 0; int j = A.length; int m;
while( i < j )
{
m = (i + j)/2;//find centerpoint
if(cSL(word,A[m]))
j = m;//move right side up
else i = m;//move left side up
}
if(A[i].equalsIgnoreCase(word)) return i;
else if(A[j].equalsIgnoreCase(word)) return j;
else return -1;
}
编辑4:所以我猜它一定是UNIX,一切都在cmd中工作。
答案 0 :(得分:0)
您可以将字符串与.equals方法进行比较。这一定是问题所在。试试这个:
string ConString = // my Connection string
string CmdString = string.Empty;
using (SqlConnection con = new SqlConnection(ConString))
{
CmdString = "SELECT * FROM [dbo].[Client_Info_Detail]";
SqlCommand cmd = new SqlCommand(CmdString, con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable("Client");
sda.Fill(dt);
grdClient.ItemsSource = dt.DefaultView;
}