recherche
MaisonPériphériques technologiquesIAComment faire en sorte que ChatGPT agisse comme un optimiseur de code Java méticuleux ?

Remarque : Cet article utilise New Bing (GPT4.0) pour la démonstration

1 Laissez-le jouer le rôle d'un développeur de logiciels Java

Étape 1 : Laissez ChatGPT jouer le rôle d'un développeur de logiciels Java.

  • Plug-in de mots d'invite : Adresse : ChatGPT BingChat GPT3 Prompt Generator App (Streamlit) - a Hugging Face Space par Kaludi

Java Software Developer Java Software Developer

I want you to act as a Java software developer.
 I will provide you with a list of commands and you will implement them. 
My first request is "I need help creating a Java application."

Comment faire en sorte que ChatGPT agisse comme un optimiseur de code Java méticuleux ?

2. Ce n'est pas le cas bon de préparer un exemple de code Java

Deuxième étape : nous préparons un exemple de code Java mal écrit

  • Mauvais exemple Java :
public int calculateUsingIfElse(int a, int b, String operator) {
int result = 0;
if (operator.equals("add")) {
result = a + b;
} else if (operator.equals("subtract")) {
result = a - b;
} else if (operator.equals("multiply")) {
result = a * b;
} else if (operator.equals("divide")) {
if (b == 0) {
throw new IllegalArgumentException("Cannot divide by zero");
}
result = a / b;
} else if (operator.equals("modulus")) {
if (b == 0) {
throw new IllegalArgumentException("Cannot divide by zero");
}
result = a % b;
} else if (operator.equals("power")) {
result = (int) Math.pow(a, b);
} else if (operator.equals("square root")) {
if (a < 0) {
throw new IllegalArgumentException("Cannot take square root of negative number");
}
result = (int) Math.sqrt(a);
} else if (operator.equals("absolute value")) {
result = Math.abs(a);
} else if (operator.equals("negate")) {
result = -a;
} else {
throw new IllegalArgumentException("Invalid operator");
}
return result;
}

Comment faire en sorte que ChatGPT agisse comme un optimiseur de code Java méticuleux ?

3. Laissez-le optimiser ce code

Troisième étape : laissez newBing (ChatGPT) optimise ce code

  • et demande de "l'organiser dans une structure de code plus élégante, comme la division automatique des sous-fonctions, la réduction de l'imbrication des if et des boucles, et même la mise en œuvre de certains modèles de conception ".

Comment faire en sorte que ChatGPT agisse comme un optimiseur de code Java méticuleux ?

// 定义一个接口,表示不同的运算策略
public interface OperationStrategy {
int apply(int a, int b);
}


// 定义一个枚举,表示不同的运算符和对应的策略
public enum Operator {
ADD((a, b) -> a + b),
SUBTRACT((a, b) -> a - b),
MULTIPLY((a, b) -> a * b),
DIVIDE((a, b) -> {
if (b == 0) {
throw new ArithmeticException("Cannot divide by zero");
}
return a / b;
}),
MODULUS((a, b) -> {
if (b == 0) {
throw new ArithmeticException("Cannot divide by zero");
}
return a % b;
}),
POWER((a, b) -> (int) Math.pow(a, b)),
SQUARE_ROOT((a, b) -> {
if (a < 0) {
throw new ArithmeticException("Cannot take square root of negative number");
}
return (int) Math.sqrt(a);
}),
ABSOLUTE_VALUE(Math::abs),
NEGATE(a -> -a);


private final OperationStrategy strategy;


Operator(OperationStrategy strategy) {
this.strategy = strategy;
}


public int apply(int a, int b) {
return strategy.apply(a, b);
}
}


// 定义一个方法,根据运算符和操作数来计算结果
public int calculateUsingStrategy(int a, int b, String operatorName) {


 // 根据运算符名称找到对应的枚举常量,如果没有找到则抛出异常
 Operator operator = Operator.valueOf(operatorName.toUpperCase());
 if (operator == null) {
 throw new IllegalArgumentException("Invalid operator");
 }


 // 调用枚举常量的apply方法来执行相应的策略
 return operator.apply(a,b);
}

4. Laissez-le écrire un seul test

Étape 4 : Laissons-le enfin terminer - écrire un seul test

Comment faire en sorte que ChatGPT agisse comme un optimiseur de code Java méticuleux ?

import org.junit.Test;
import static org.junit.Assert.*;


// 定义一个测试类,用@Test注解标记要执行的测试方法
public class CalculatorTest {


// 定义一个测试方法,用assertEquals方法来验证计算结果是否正确
@Test
public void testAdd() {
int result = calculateUsingStrategy(3, 5, "add");
assertEquals(8, result);
}


// 定义其他的测试方法,分别测试不同的运算符和操作数
@Test
public void testSubtract() {
int result = calculateUsingStrategy(10, 4, "subtract");
assertEquals(6, result);
}


@Test
public void testMultiply() {
int result = calculateUsingStrategy(7, 9, "multiply");
assertEquals(63, result);
}


@Test
public void testDivide() {
int result = calculateUsingStrategy(12, 3, "divide");
assertEquals(4, result);
}


 // 定义一个测试方法,用assertThrows方法来验证抛出了预期的异常
 @Test
 public void testDivideByZero() {
 assertThrows(ArithmeticException.class,
 () -> calculateUsingStrategy(10,0,"divide"));
 }


 // 定义其他的测试方法,分别测试不同的异常情况


 @Test
 public void testModulusByZero() {
 assertThrows(ArithmeticException.class,
 () -> calculateUsingStrategy(10,0,"modulus"));
 }


 @Test
 public void testSquareRootOfNegativeNumber() {
 assertThrows(ArithmeticException.class,
 () -> calculateUsingStrategy(-4,-2,"square root"));
 }


 // 定义一个测试方法,用assertThrows方法来验证抛出了预期的异常
 @Test
 public void testInvalidOperator() {
 assertThrows(IllegalArgumentException.class,
 () -> calculateUsingStrategy(10,-2,"foo"));
 }
}

Enfin, la sécurité des données est le plus gros problème, ne publiez pas de données aléatoires. à ChatGPT, en particulier lorsqu'il s'agit de mots de passe de comptes de stockage principaux back-end, de données commerciales de base de l'entreprise, de planification stratégique de base du service, etc. Parce que tout d'abord, ChatGPT utilisera votre corpus de questions et réponses pour la formation ; deuxièmement, vous ne pouvez pas prédire à quel mot d'invite le modèle LLM répondra avec les informations que vous avez divulguées par inadvertance.

Les défauts ne sont pas cachés, le modèle LLM représenté par ChatGPT peut grandement améliorer notre efficacité de développement en agissant en tant que notre professeur omniscient et infatigable rédacteur de code Util général, en particulier dans l'analyse de données, le front-end, les tests uniques, la reconstruction et d'autres domaines.

Comme écrit dans la première étape de l'article, ChatGPT est comme une identité polyvalente, vous pouvez le laisser jouer n'importe quel rôle, et Chaque rôle peut nous aider à atteindre une vie meilleure dans le cadre de ce rôle.

Des utilisations plus intéressantes attendent que tout le monde les découvre.


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Comment construire votre assistant d'IA personnel avec HuggingFace SmollmComment construire votre assistant d'IA personnel avec HuggingFace SmollmApr 18, 2025 am 11:52 AM

Exploiter la puissance de l'IA sur disvise: construire une CLI de chatbot personnelle Dans un passé récent, le concept d'un assistant d'IA personnel semblait être une science-fiction. Imaginez Alex, un passionné de technologie, rêvant d'un compagnon d'IA intelligent et local - celui qui ne dépend pas

L'IA pour la santé mentale est attentivement analysée via une nouvelle initiative passionnante à l'Université de StanfordL'IA pour la santé mentale est attentivement analysée via une nouvelle initiative passionnante à l'Université de StanfordApr 18, 2025 am 11:49 AM

Leur lancement inaugural de l'AI4MH a eu lieu le 15 avril 2025, et le Dr Tom Insel, M.D., célèbre psychiatre et neuroscientifique, a été le conférencier de lancement. Le Dr Insel est réputé pour son travail exceptionnel dans la recherche en santé mentale et la techno

La classe de draft de la WNBA 2025 entre dans une ligue qui grandit et luttant sur le harcèlement en ligneLa classe de draft de la WNBA 2025 entre dans une ligue qui grandit et luttant sur le harcèlement en ligneApr 18, 2025 am 11:44 AM

"Nous voulons nous assurer que la WNBA reste un espace où tout le monde, les joueurs, les fans et les partenaires d'entreprise, se sentent en sécurité, appréciés et autonomes", a déclaré Engelbert, abordé ce qui est devenu l'un des défis les plus dommageables des sports féminins. L'anno

Guide complet des structures de données intégrées Python - Analytics VidhyaGuide complet des structures de données intégrées Python - Analytics VidhyaApr 18, 2025 am 11:43 AM

Introduction Python excelle comme un langage de programmation, en particulier dans la science des données et l'IA générative. La manipulation efficace des données (stockage, gestion et accès) est cruciale lorsqu'il s'agit de grands ensembles de données. Nous avons déjà couvert les nombres et ST

Premières impressions des nouveaux modèles d'Openai par rapport aux alternativesPremières impressions des nouveaux modèles d'Openai par rapport aux alternativesApr 18, 2025 am 11:41 AM

Avant de plonger, une mise en garde importante: les performances de l'IA sont non déterministes et très usagées. En termes plus simples, votre kilométrage peut varier. Ne prenez pas cet article (ou aucun autre) article comme le dernier mot - au lieu, testez ces modèles sur votre propre scénario

Portfolio AI | Comment construire un portefeuille pour une carrière en IA?Portfolio AI | Comment construire un portefeuille pour une carrière en IA?Apr 18, 2025 am 11:40 AM

Construire un portefeuille AI / ML hors concours: un guide pour les débutants et les professionnels La création d'un portefeuille convaincant est cruciale pour sécuriser les rôles dans l'intelligence artificielle (IA) et l'apprentissage automatique (ML). Ce guide fournit des conseils pour construire un portefeuille

Ce que l'IA agentique pourrait signifier pour les opérations de sécuritéCe que l'IA agentique pourrait signifier pour les opérations de sécuritéApr 18, 2025 am 11:36 AM

Le résultat? L'épuisement professionnel, l'inefficacité et un écart d'élargissement entre la détection et l'action. Rien de tout cela ne devrait être un choc pour quiconque travaille en cybersécurité. La promesse d'une IA agentique est devenue un tournant potentiel, cependant. Cette nouvelle classe

Google contre Openai: la lutte contre l'IA pour les étudiantsGoogle contre Openai: la lutte contre l'IA pour les étudiantsApr 18, 2025 am 11:31 AM

Impact immédiat contre partenariat à long terme? Il y a deux semaines, Openai s'est avancé avec une puissante offre à court terme, accordant aux étudiants des États-Unis et canadiens d'accès gratuit à Chatgpt Plus jusqu'à la fin mai 2025. Cet outil comprend GPT - 4O, un A

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP