Java用查找算法的一段代码如下: 其中boolean A=false; if(name.equals(arr[i])) 麻烦解释一下 尽量直白

import java.util.Scanner;
public class A4{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入你想找的同学姓名:");
String name=in.next();
String arr[]={"刘德华","张学友","黎明","郭富城","周星驰"};
boolean A=false;
for(int i=0;i<arr.length;i++){
if(name.equals(arr[i])){
A=true;
break;
}
}
if(A==true){
System.out.println("找到了");
}else{
System.out.println("没有这个人");
}
}
}

数组从第一个开始比较,完全相同(当前数组值和输入值一模一样)A就赋值为true;不一样A的值不变追问

我明白这组代码是什么意思
我只是想知道 name.equals(arr[i])这个代码是什么意思 怎么用
还有boolean A=false;这个代码 int String这些数据类型 我知道 boolean没用过 也是数据类型吗 麻烦详细讲解一下 谢谢

追答

1.arry[i]数组,i为下标,你可以想象成表格(只有一排的表格)。计数从0开始,也就是第一个格子的下标为0,即i这时等于0
2.equals()这个是字符串比较的方法
3.boolean(布尔型)值为true或者false,只有这两个值
java数据类型有8种:byte(字节)、short(短整型)、char(字符)、int(整型)、float(浮点型)、double(双精度)、long(长整形)、boolean(布尔型)

追问

equals这个还是不太明白 具体怎么用 什么时候用 用在这个代码name.equals(arr[i]) 是什么意思 为什么假设这个 A=true了

追答

name.equals(arr[i])就是比较,name代表你输入的姓名,arr[i]代表{"刘德华","张学友","黎明","郭富城","周星驰"}数组,如果相同(简单的讲就是,你输入的名字这里面能找到)就赋值为true(这个东西是你自己定的,主要看后面怎么用),equals相当于“=”。翻译就是:输入值=数组值?true(相等,表示找到相同)

温馨提示:内容为网友见解,仅供参考
无其他回答

...其中boolean A=false; if(name.equals(arr[i])) 麻烦解释一下 尽量...
数组从第一个开始比较,完全相同(当前数组值和输入值一模一样)A就赋值为true;不一样A的值不变

为什么覆写equals的时候一定要覆写hashCode
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = count; if (n == anotherString.count) { char v1[] = value; char v2[] = anotherString.value; int i = offset; in...

一道简单的有关数组的Java程序题,请高手前辈们帮忙查看一下代码,谢谢...
ArrayList和Vector中,从指定的位置(用index)检索一个对象,或在集合的末尾插入、删除一个对象的时间是一样的,可表示为O(1)。但是,如果在集合的其他位置增加或移除元素那么花费的时间会呈线形增长:O(n-i),其中n代表集合中元素的个数,i代表元素增加或移除元素的索引位置。为什么会这样呢?以为在进行上述操作的时候...

求一个简单的JAVA五子棋代码!! 网上复制的别来了!
public boolean isOk(int x, int y) { boolean isRight = true;if (x >= 16 || x < 1 || y >= 16 | y < 1) { \/\/System.out.println("输入错误,请从新输入");isRight = false;} if (board[x][y].equals("●") || board[x][y].equals("○")) { isRight = false...

Java中解决安全问题的技术有哪些?
如果数据极其敏感,那么在访问属性文件时,您的应用程序应该使用一些加密\/解密技术。查找恶意代码从事某个项目的某个心怀叵测的开发人员可能故意引入易受攻击的代码,打算日后利用它。这样的代码在初始化时可能会启动一个后台进程,该进程可以为闯入者开后门。它也可以更改一些敏感数据。这样的恶意代码有三类:类中的 main ...

idea格式化代码设置(idea的格式化)
java源代码是txt格式的.java文件,用记事本就可以打开。 用eclipse打开java文件的方式是: 如果java文件是一个eclipse工程(根目录带有.project文件),用file\/import\/general\/exist java project\/(大概是)然后找到你的目录。 否则需要自己新建一个工程file\/new\/java project 然后把java文件拷贝到.src目录下。.class文件是...

关于java的binarySearch()方法
1 public static int binarySearch(Object[] a, Object key)用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。2 public static boolean equals(long[] a, long[] a2)...

hashmap中equals() 和hashcode(),请教
if (v1[i++] != v2[j++])return false;}return true; }}return false;}很明显,这是进行的内容比较,而已经不再是地址的比较。依次类推Double、Integer、Math。。。等等这些类都是重写了equals()方法的,从而进行的是内容的比较。当然了基本类型是进行值的比较,这个没有什么好说的。我们还应该注意,Java语言...

求一个实现RC4加密算法的第三方包,JAVA的
String plain1=(String)request.getAttribute("plain1"); if(plain1==null){ plain1=""; } %> 所得密文:<input type="text" name="cipherText" value="<%=cipher %>" \/> <a href="javascript:void(0)" onclick="javascript:dodecipher();return false;">解密<\/a> <\/br> <\/br> 所得明文...

何时使用 Parallel.ForEach,何时使用 PLINQ
public static boolean FindAny<T,T>(IEnumerable<T> TSpace, T match) where T: IEqualityComparer<T>{ var matchFound = false; Parallel.ForEach(TSpace, (curValue, loopstate) => { if (curValue.Equals(match) ) { matchFound = true; loopstate.Stop(); } }); return matchFound;}ParallelLoopSta...

相似回答