24 시 포커 게임 프로 그래 밍 알고리즘 상세 설명
package PokerGame24Point;
import com.Allen.*;
public class Get24PointExpression {
/**
* 24
* @haram array
* @return 24
*/
static String[] get24CalExpression(int[] array) {
String[] op = {"+", "-", "*", "/"};
String[] ch = {"(", ")"};
String[] sentence = new String[array.length+op.length-1];
int opNumIndex = PublicFunction.getRandom(0, array.length);
sentence[0] = Integer.toString(array[opNumIndex]);
array = PublicFunction.deleteOneElement(array, array[opNumIndex]);
int opIndex = PublicFunction.getRandom(0, op.length);
sentence[1] = op[opIndex];
opNumIndex = PublicFunction.getRandom(0, array.length);
sentence[2] = Integer.toString(array[opNumIndex]);
array = PublicFunction.deleteOneElement(array, array[opNumIndex]);
opIndex = PublicFunction.getRandom(0, op.length);
sentence[3] = op[opIndex];
opNumIndex = PublicFunction.getRandom(0, array.length);
sentence[4] = Integer.toString(array[opNumIndex]);
array = PublicFunction.deleteOneElement(array, array[opNumIndex]);
opIndex = PublicFunction.getRandom(0, op.length);
sentence[5] = op[opIndex];
opNumIndex = PublicFunction.getRandom(0, array.length);
sentence[6] = Integer.toString(array[opNumIndex]);
//
int[][] chindex1 = {{0, 4}, {2, 6}, {4, 8}, {0, 6}, {2, 8}};
int[][][] chindex2 = {{{0, 6}, {1, 5}}, {{0, 6}, {3, 7}},
{{2, 8}, {3, 7}}, {{2, 8}, {5, 9}}, {{0, 4}, {6, 10}}};
// ,
int selectedArray = PublicFunction.getRandom(1, 3);
if (selectedArray == 1)
{
int index = PublicFunction.getRandom(0, 5);
sentence = PublicFunction.insertOneElement(
sentence, chindex2[index][0][0], ch[0]);
sentence = PublicFunction.insertOneElement(
sentence, chindex2[index][0][1], ch[1]);
sentence = PublicFunction.insertOneElement(
sentence, chindex2[index][1][0], ch[0]);
sentence = PublicFunction.insertOneElement(
sentence, chindex2[index][1][1], ch[1]);
}
else
{
int index = PublicFunction.getRandom(0, 5);
sentence = PublicFunction.insertOneElement(
sentence, chindex1[index][0], ch[0]);
sentence = PublicFunction.insertOneElement(
sentence, chindex1[index][1], ch[1]);
}
return sentence;
}
}
PublicFunction.java
package com.allen;
import java.util.Random;
public class PublicFunction {
/**
*
* @param from
* @param to
* @return
*/
public static int getRandom(int from, int to) {
return new Random().nextInt(to)%(to-from) + from;
}
/**
*
* @param n
* @return
*/
public static int getFabonacci(int n) {
if (n==0 | n == 1) return 1;
else return n*getFabonacci(n-1);
}
/**
*
* @param
* @param
* @return
*/
public static int[] deleteOneElement(int[] array, int element) {
int[] result = new int[array.length-1];
int mark = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] == element) {
mark = i;
break;
}
}
int index = 0;
for (int i = 0; i < mark; i++) {
result[index] = array[i];
index++;
}
for (int i = mark + 1; i < array.length; i++) {
result[index] = array[i];
index++;
}
return result;
}
/**
* array element
* @param array
* @param element
* @return array element
*/
public static boolean isExistsElement(String[] array, String element) {
boolean result = false;
if (array == null) return false;
for (int i = 0; i < array.length; i++) {
if (array[i] == null) break;
if (array[i].equals(element))
result = true;
}
return result;
}
/**
*
* @param array
* @param insertIndex
* @param element
* @return
*/
public static String[] insertOneElement(
String[] array, int insertIndex, String element) {
String[] result = new String[array.length+1];
int index = 0;
for (int i = 0; i < insertIndex; i++) {
result[index] = array[i];
index++;
}
result[index] = element;
index++;
if (insertIndex == (array.length-1))
result[index] = array[insertIndex];
for (int i = insertIndex; i < array.length; i++) {
result[index] = array[i];
index++;
}
return result;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.