第一个: <script language="javascript"> function a(){ var str='abc',sOut=''; var arr = str.split(''); for(var i = arr.length-1;i>=0;i--){ sOut+=arr[i]; } alert(sOut); } </script>
import java.util.*; public class ReverseTest { public static void main(String[] args) { String str = "abcdef";
str = new String(str_char); System.out.println("逆序后:" + str); } } public class GetMax { public static void main(String[] args) { int[] source = {1,3,6,7,7,7,9,9,9,6,5,5,3,1,1}; int[] count = new int[source.length]; for(int i = 0;i < source.length;i++) { count[source[i]]++; }
int max = count[0]; int sub = 0; for(int i = 0;i < count.length;i++) { if(count[i] >= max) { max = count[i]; sub = i; } } System.out.println("下标是: " + sub + "出现次数是: " + count[sub]); } }
public static void main(String[] args) { StringBuffer str=new StringBuffer("abc"); System.out.println(str.reverse());
jdk的方法,jdk是什么?没有这个类呀,所以可以任意使用方法
public class Three { public static void reverse(long num){ String strNum=String.valueOf(num); int iLength=strNum.length(); String strResult=""; for(int i=0;i<iLength;i++){ strResult+=strNum.charAt(iLength-i-1); } System.out.println(strResult); }
public static void main(String[] args) { reverse(123); }}
第一题:不能用 jdk 是把 那就这样 : String[] str = {"a", "b", "c"}; for(int c = str.length - 1; c >= 0 ; c --){ System.out.println(str[c]); } //用for 循环就可以搞定的问题
StringBuffer str=new StringBuffer("abc");
System.out.println(str.reverse());第二个 用两个变量
IF判断 如果X==i
则 另个变量++ max用循环求 懒的写了,百度下能搜到的
<script language="javascript">
function a(){
var str='abc',sOut='';
var arr = str.split('');
for(var i = arr.length-1;i>=0;i--){
sOut+=arr[i];
}
alert(sOut);
}
</script>
import java.util.*;
public class ReverseTest
{
public static void main(String[] args)
{
String str = "abcdef";
System.out.println("顺序前:" + str);
char[] str_char = str.toCharArray();
int len = str_char.length - 1;
for(int i = 0;i <= len/2 ; i++)
{
char temp = str_char[i];
str_char[i] = str_char[len - i];
str_char[len - i] = temp;
}
str = new String(str_char);
System.out.println("逆序后:" + str);
}
}
public class GetMax
{
public static void main(String[] args)
{
int[] source = {1,3,6,7,7,7,9,9,9,6,5,5,3,1,1};
int[] count = new int[source.length];
for(int i = 0;i < source.length;i++)
{
count[source[i]]++;
}
int max = count[0];
int sub = 0;
for(int i = 0;i < count.length;i++)
{
if(count[i] >= max)
{
max = count[i];
sub = i;
}
}
System.out.println("下标是: " + sub + "出现次数是: " + count[sub]);
}
}
import java.util.HashMap;
import java.util.Map;public class Test1 { public static void main(String[] args) {
int[] arr={1,3,6,7,7,7,9,9,9,6,5,5,0,3};
Map<Integer, Integer> map=new HashMap<Integer, Integer>();
for(int temp:arr)
{
if(map.containsKey(temp)){
int m=(Integer)map.get(temp)+1;
map.put(temp,m);
}
else
{
map.put(temp, 1);
}
}
int n=0;
String strArr="";
for(Map.Entry<Integer, Integer> entry : map.entrySet())
{
if(entry.getValue()>n){
n=entry.getValue();
strArr=String.valueOf(entry.getKey());
}
else if (entry.getValue()==n)
{
strArr=strArr+","+String.valueOf(entry.getKey());
}
}
int maxNum=0;
for(String s:strArr.split(",")){
if(Integer.valueOf(s)>maxNum)
{
maxNum=Integer.valueOf(s);
}
}
System.out.println("出现次数最多且最大的数是: "+maxNum);
System.out.println("出现次数是: "+n);
}}
自己的浅薄方法,有问题请指正。
public static void main(String[] args) {
StringBuffer str=new StringBuffer("abc");
System.out.println(str.reverse());
public static void reverse(long num){
String strNum=String.valueOf(num);
int iLength=strNum.length();
String strResult="";
for(int i=0;i<iLength;i++){
strResult+=strNum.charAt(iLength-i-1);
}
System.out.println(strResult);
}
public static void main(String[] args) {
reverse(123);
}}
String[] str = {"a", "b", "c"};
for(int c = str.length - 1; c >= 0 ; c --){
System.out.println(str[c]);
}
//用for 循环就可以搞定的问题
c
b
a
char[] str_char = str.toCharArray();这个算不算用到了jdk 提供的方法呢?
什么叫出现次数最多并且最大如果出现次数最多的不是最大值 是先保证次数最多还是先保证值最大
public class GetMax
{
public static void main(String[] args)
{
int[] source = {1,3,6,7,7,7,9,9,9,6,5,5,3,1,1};
int[] count = new int[source.length];
for(int i = 0;i < source.length;i++)
{
count[source[i]]++;
}
int max = count[0];
int sub = 0;
for(int i = 0;i < count.length;i++)
{
if(count[i] >= max)
{
max = count[i];
sub = i;
}
}
System.out.println("下标是: " + sub + "出现次数是: " + count[sub]);
}
}如果数组的长度够大的话,如果将这个 int[] source 改为 {1,3,6,7,7,7,9,9,9,6,5,20},的话就会发生数组下标越界的的异常
LZ的回复让我觉得你对这两道面试题带有抵制的情绪。
如果对题目有疑问不解是可以提出的。这也是考面试者的某些素质。
对面试题的态度也就是对公司的态度,如果你没进公司就对公司有不好的态度~`````
import java.util.HashMap;
import java.util.Map;public class Test{
public static void main(String[] args) {
int[] a = { 1, 3, 6, 7, 7, 7, 9, 9, 9, 6, 5, 5, 3 };
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < a.length; i++) {
int key = a[i];
Integer v = map.get(key);
map.put(key, v == null ? 1 : v + 1);
} int tempKey = 0;
int tempValue = 0; for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
if (entry.getValue() > tempValue) {
tempKey = entry.getKey();
tempValue = entry.getValue();
}
}
System.out.println("[" + tempKey + "," + tempValue + "]");
}
}
第一题的意思是不是不能用JDK的任何方法,如果是那样,就用JS来实现。