java小算法复习

Posted 我的bug

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java小算法复习相关的知识,希望对你有一定的参考价值。

package com.bshinfo.bm.util;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;

public class Test {

//菱形
public void test1(){
for (int i = 0; i < 5; i++) {//行数
for (int j = 0; j <5-i-1; j++) {//空格
System.out.print(" ");
}
for (int k = 0; k < 2*(i+1)-1; k++) {//星号
System.out.print("*");
}
System.out.println("");
}
for (int i = 5; i > 0; i--) {//行数
for (int j =5-i+1; j >0; j--) {//空格
System.out.print(" ");
}
for (int k = 2*(i-1)-1; k >0; k--) {//星号
System.out.print("*");
}
System.out.println("");
}
}
//菱形
public void test2(int n){
for(int i = 0; i < n - 1; i++){
for(int x = i + 1; x < n; x++){
System.out.print(" ");
}
for(int y = 0; y < (i + 1) * 2 - 1; y++){
System.out.print("*");
}
System.out.println();
}
for(int i = 0; i < n; i++){
for(int x = 0; x < i; x++){
System.out.print(" ");
}
for(int y = i; y < 2 * n - i - 1; y++){
System.out.print("*");
}
System.out.println();
}
}

//三角形
public void test3(){
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5-i-1; j++) {
System.out.print(" ");
}
for (int j = 0; j < i+1; j++) {
System.out.print("*");
}
System.out.println("");
}
}

//九九乘法表
public void test4(){

for (int i = 1; i < 10; i++) {
for (int j = 1; j < i+1; j++) {
System.out.print(j+"*"+i+"="+(i*j)+" ");
}
System.out.println("");
}
}
//统计字符串中字符出现的个数
public void test5(){
String str = "asdfsadfewrtewfxzfagres";
Map<String,Integer> map =new HashMap<String,Integer>();
int count = str.length();
for (int i = 0; i < count; i++) {
if(map.containsKey(str.substring(i, i+1))){
int temp = map.get(str.substring(i, i+1));
temp++;
map.put(str.substring(i, i+1), temp);
}else{
map.put(str.substring(i, i+1),1);
}
}
for (String key:map.keySet()) {
int value = map.get(key);
System.out.println("字符 "+key+" 出现的次数是"+value);
}
}
//判断是否输入的是水仙花数
public void test6(){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int count = str.length();
if(count%2!=0){
int temp = 0;
for (int i = 0; i < count/2; i++) {
int temp1 = Integer.parseInt(str.substring(i, i+1));
int temp2 = Integer.parseInt(str.substring(count-i-1, count-i));
if(temp1!=temp2){
System.out.println(str +" 不是水仙花数!");
return;
}else{
temp++;
}
}
if(temp == (count/2)){
System.out.println(str +" 是水仙花数!");
}
}

}
public static void main(String[] args) {

Test test = new Test();
test.test1();
test.test2(5);
test.test3();
test.test4();
test.test5();
test.test6();
}

}

























































































































以上是关于java小算法复习的主要内容,如果未能解决你的问题,请参考以下文章

2023数据结构考研复习-排序

2023数据结构考研复习-排序

算法复习分治算法动态规划贪心算法

算法小专栏:选择排序

计算机算法 期末复习个人笔记(部分)

机器学习梯度下降算法