Java中的PHP函数
我正在尝试将PHP脚本转换为Java。 但不知怎么的,我没有让它工作Java中的PHP函数,java,php,Java,Php,我正在尝试将PHP脚本转换为Java。 但不知怎么的,我没有让它工作 <?php $karten = array(12, 10, 8, 14, 9, 11, 13); for ($i = 1; $i <= count($karten); $i++) { print_r($karten); echo '<br>'; if ($karten[$i] > $Karten[$i - 1]) { for ($a = 0; $a &l
<?php
$karten = array(12, 10, 8, 14, 9, 11, 13);
for ($i = 1; $i <= count($karten); $i++) {
print_r($karten);
echo '<br>';
if ($karten[$i] > $Karten[$i - 1]) {
for ($a = 0; $a < count($karten); $a++) {
if ($karten[$a] > $karten[$i]) {
//Karten vorne dran setzen
$karte = $karten[$i];
unset($karten[$i]);
array_splice($karten, $a, 0, array($karte));
break;
}
}
}
}
?>
algorithm.java:
import java.util.*;
public class KartenAlgo {
public int[] sortiereKarten(int[] array) {
int[] returnArr = new int[array.length];
for (int i = 1; i < array.length; i++) {
if (array[i] > array[i - 1]) {
for (int a = 0; a < array.length; a++) {
if (array[a] > array[i]) {
int karte = array[i];
array = this.unset(array, i);
array = this.array_insert(array, a, karte);
break;
}
}
}
}
return returnArr;
}
private int[] unset(int[] array, int index) {
int[] returnArr = new int[array.length];
for (int i = 0; i < array.length; i++) {
if (i != index) {
if (i < index) {
returnArr[i] = array[i];
} else if (i == array.length - 1) {
returnArr[i] = -1;
} else {
returnArr[i] = array[i - 1];
}
}
}
return returnArr;
}
private int[] array_insert(int[] array, int pos, int insert) {
int[] returnArr = new int[array.length];
for (int i = 0; i < returnArr.length; i++) {
if (i < pos) {
returnArr[i] = array[i];
} else if (i == pos) {
returnArr[i] = insert;
} else {
returnArr[i] = array[i - 1];
}
}
System.out.println(Arrays.toString(array));
return returnArr;
}
}
import java.util.*;
公共级卡顿阿尔戈{
公共int[]sortiereKarten(int[]数组){
int[]returnArr=newint[array.length];
for(int i=1;i数组[i-1]){
for(int a=0;a数组[i]){
int karte=数组[i];
array=this.unset(数组,i);
数组=此.array\u插入(数组,a,karte);
打破
}
}
}
}
返回arr;
}
私有int[]未设置(int[]数组,int索引){
int[]returnArr=newint[array.length];
for(int i=0;i
我试图在Java中重建PHP的unset和array_splice的一个简单变体,但我无法让它工作。在PHP unset中,工作方式如下: (取消设置移除/删除数组中的元素,您将获得更短的数组)
private static int[]unset(int[]arrIn,int index)
{
int i;
//新阵列较短
int[]arrOut=新int[arrIn.length-1];
//复制元素“之前”arrIn[索引]
对于(i=0;i
数组\u insert将元素插入到数组中,您将获得更长的数组
private static int[] array_insert(int[] arrIn, int pos, int value)
{
int i;
// new array is longer
int[] arrOut = new int[arrIn.length+1];
// copy element "before" arrIn[pos]
for(i = 0; i < pos ; i++) {
arrOut[i] = arrIn[i];
}
// put element in arrOut[pos]
arrOut[pos] = value;
// copy element "from" arrIn[pos] "to" end of arrIn[]
for(i = pos; i < arrIn.length ; i++) {
arrOut[i+1] = arrIn[i];
}
return arrOut;
}
private static int[]数组_insert(int[]arrIn,int pos,int value)
{
int i;
//新阵列更长
int[]arrOut=新int[arrIn.length+1];
//复制arrIn[pos]中“之前”的元素
对于(i=0;i
不使用的Java版本有多旧<代码>列表是从Java 1.2开始存在的。我是Java新手,但不知怎么的,我就是没能让它工作D我是Java新手,我以为它不会被实现,D的问题在哪里?即使是PHP脚本也很满,甚至没有提到Java部分…@Mohammer我认为对你来说最好的方法是在尝试移植任何代码之前先学习Java。
private static int[] unset(int[] arrIn, int index)
{
int i;
// new array is shorter
int[] arrOut = new int[arrIn.length-1];
// copy element "before" arrIn[index]
for(i = 0; i < index ; i++) {
arrOut[i] = arrIn[i];
}
// copy element "after" arrIn[index]
for(i = index; i < arrOut.length ; i++) {
arrOut[i] = arrIn[i+1];
}
return arrOut;
}
private static int[] array_insert(int[] arrIn, int pos, int value)
{
int i;
// new array is longer
int[] arrOut = new int[arrIn.length+1];
// copy element "before" arrIn[pos]
for(i = 0; i < pos ; i++) {
arrOut[i] = arrIn[i];
}
// put element in arrOut[pos]
arrOut[pos] = value;
// copy element "from" arrIn[pos] "to" end of arrIn[]
for(i = pos; i < arrIn.length ; i++) {
arrOut[i+1] = arrIn[i];
}
return arrOut;
}