gpt4 book ai didi

java - 查找字符串中最长的升序数字序列

转载 作者:行者123 更新时间:2023-12-01 04:48:05 24 4
gpt4 key购买 nike

该程序应该给出最长的升序。

例如,如果我输入“12134707”,它应该给出输出= 1347,但它给出的是 12...这绝对不是最长的。我错过了什么或做错了什么?

import java.util.Scanner;        
public class Ascending
{

public static void main(String args[]){

System.out.print("Enter a number = ");

Scanner in = new Scanner(System.in);
String n = in.nextLine();

//print soluton
System.out.println("output = " + itsAscending(n));
}

public static String itsAscending(String n) {
int length = n.length();

String maxlongest = "";


for(int i = 1; i < length; i++) {

char first = n.charAt(i-1);
char second = n.charAt(i);
char next = n.charAt(i+1);
int f = (int)(first - 48);
int s = (int)(second - 48);
int nx = (int)(next - 48);

String longest = "";

int max = 0;


//test to find the ascending order
if (f<s){

longest = longest + f;

if(n.length()>2){

if(f<s){
longest = longest + s;
length = longest.length();
i++;
}
else{
i++;
continue;
}
}

//test to find the longest string
for (i=1; i<length; i++){
if (length > max){
max = length;
maxlongest = longest;
return maxlongest;
}
else {
return maxlongest;
}
}
}
}
return maxlongest;
}
}

最佳答案

嘿,你在很多地方搞乱了代码和逻辑。您正在与 for 循环中的长度变量进行比较并修改它。另外,您的第二个 for 循环位于第一个循环内。我认为这是一个错误。再次开始重新检查您的逻辑和变量。您的长度变量和 i 变量在多个地方使用,而应该使用相同的 coy。

P.S:我知道这是一项硬件分配:D

关于java - 查找字符串中最长的升序数字序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15472361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com