Софтуерно Инженерство
Loading...
+ Нов въпрос
bopetrov93 avatar bopetrov93 0 Точки

Помощ за Password Guess

Здравейте, не мога да разбера къде греша с тази задача.

Работи, но Judge ми казва, че е 66/100.

Моя код: https://pastebin.com/PRWtc5hC

 

Условието на задачата: https://judge.softuni.bg/Contests/Practice/Index/152#8 - Задача 9. Password Guess.

Тагове:
0
Java Fundamentals 28/03/2018 20:37:45
dia76 avatar dia76 2 Точки

Привет! Аз съм със C#, но дано ти е от помощ моето решение. Сложила съм още един стринг за паролата. Провери си и разстоянията, понякога там се счупва кода.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


class Program
{
    static void Main()
    {
        string word = Console.ReadLine();
        string password = "s3cr3t!P@ssw0rd";


        if (word == password)
        {
            Console.WriteLine("Welcome");
        }
        else
        {
            Console.WriteLine("Wrong password!");
        }
    }
     
}

 

0
bopetrov93 avatar bopetrov93 0 Точки

Твоят код е на същия принцип, като моя. Би следвало моят също да работи :/

Проверих отново за разстоянията, но са добре. Не знам :/

0
28/03/2018 21:33:49
radka.stoyanova avatar radka.stoyanova 1 Точки

Пращам ти моето решение то е с equals.

Дано ти помогна на мен Judge ми даде 100.

https://pastebin.com/7d70gSza

0
bopetrov93 avatar bopetrov93 0 Точки

Благодаря ти много. Вчера успях да я реша, именно с equals, за което преди това не знаех, че е причината :)

0
MartinBG avatar MartinBG 1215 Точки

Поради специфики на Java, стринговете трябва винаги да се сравняват с equals метода.

Добра практика е при сравняване на литерал със стринг, който може да бъде променен по време на изпълнението на програмата (напримеr при вход от конзолата), да се пише първо литерала, за да се избегне NullPointerException при невалиден стринг:

"abv".equals(myString); // Правилно

myString.equals("abv"); // Риск от краш, ако myString по някаква причина е null

0
30/03/2018 02:06:31
bobby_k avatar bobby_k 7 Точки

При славняване на Стрингове използвай .equals(). Мисля, че там ти е грешката.

Ето работещ код:

package com.company;

import java.util.Scanner;

public class Pr09_GuessThePassword {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String password=input.nextLine();
        String result="";
        if(password.equals("s3cr3t!P@ssw0rd")){
            result="Welcome";
        }else {
            result="Wrong password!";
        }
        System.out.printf(result);
    }
}
 

2
Savas avatar Savas 1 Точки

В "s3cr3t!P@ssw0rd" --> 0 е нула а, не буква О;

 

 

0