import java.util.Scanner;
public class ProgrammaD{
public static void main(String[] args){
Scanner keyboard= new Scanner(System.in);
String sequence = args[0];
char chars[] = new char[sequence.length()];
for(int i = 0; i < sequence.length(); i++){
chars[i] = sequence.charAt(i);
}
System.out.println("Insert a character");
char car = keyboard.next().charAt(0);
System.out.println("Insert an integer");
int n = keyboard.nextInt();
System.out.println("Original Array");
for(int z = 0; z < sequence.length(); z++){
System.out.println(chars[z]);
}
char chars2[] = MetodiD.occorrenzeContenuto(chars, n, car);
System.out.println("Edited Array");
for(int k = 0; k < sequence.length(); k++){
System.out.println(chars2[k]);
}
boolean condition = false;
char chars3[] = MetodiD.uniformaContenuto(chars, chars2);
for(int x = 0; x < sequence.length(); x++){
if(chars[x] == chars2[x]){
condition = false;
}
else{
condition = true;
}
}
if(condition){
for(int y = 0; y < sequence.length(); y++){
System.out.println(chars3[y]);
}
}
}
}
Я не могу выполнить последнюю, если инструкция, и я не могу понять, почему. Может ли кто-нибудь помочь мне понять это? Я хочу, чтобы программа печатала массив, возвращенный в MetodiD.uniformaContenuto(), но я ничего не могу получить от этого кода.Не могу ввести в это оператор if-else
Вот другой класс:
public class MetodiD{
public static char[] occorrenzeContenuto(char par[], int a, char b){
int contatore = 0;
for(int i = 0; i < par.length; i++){
if(par[i] != b){
contatore++;
}else{
}
}
if(contatore > a){
for(int k = 0; k < par.length; k++){
if(par[k] != b){
par[k] = determinaCarattere(a, b);
}else{
}
}
}else{
}
return par;
}
public static char determinaCarattere(int n, char b){
int modificato;
if(n%2==0){
modificato = (int)b - n;
}else{
modificato = (int) b + n;
}
char modificato2 = (char)modificato;
return modificato2;
}
public static char[] uniformaContenuto(char par1[], char par2[]){
char rit[] = new char[par1.length];
for(int y = 0; y < par1.length; y++){
if(par1[y]<par2[y]){
rit[y] = par1[y];
}else{
rit[y] = par2[y];
}
}
return rit;
}
}
операторы печати является всегда полезно (если у вас нет отладчика) –
Что делают ваши методы? Я склонен думать, что ваше «условие» boolean всегда возвращает false –
Вы назначаете 'условие' в цикле' for', только последнее влияет на значение 'condition', проверьте его! – BornToCode